script.shファイルがあり、このファイルの種類はshellscriptファイルです。このファイルをapplication / x-executableファイルとして作成します。どうすればできますか?
script.shファイルがあり、このファイルの種類はshellscriptファイルです。このファイルをapplication / x-executableファイルとして作成します。どうすればできますか?
回答:
ファイルを実行可能としてマークできます。
chmod +x filename.sh
その後、次のように実行できます。
./filename.sh
別のコマンドを使用して起動する場合は、エイリアスを追加できます。
gedit ~/.bashrc
これをファイルの最後に追加します。
alias <new name>='/home/<full path to script>/filename.sh'
新しいターミナルセッションを開くかsource ~/.bashrc
、ターミナルに入力して適用します。次に、新しい名前を使用してスクリプトを開始します。
./filename.sh
だけではないとfilename.sh
?
filename
し、ない./filename
./filename.sh
は現在のディレクトリ内のファイルを指定し、using filename.sh
は現在のディレクトリまたはPATHの任意のディレクトリ内のファイルを指定します。最初の使用法により、どのファイルにアクセスするかに関する不確実性がなくなります。この場合、#!/bin/bash
ファイル名を入力するだけで、bashまたは別のインタプリタを使用してスクリプトを実行しようとします(スクリプトの最初の行と見なされるため)。この使用法では、ディレクトリを指定する必要があります。または、bash filename.sh
指定されていないディレクトリで動作するように見えるものを試すことができます。
ファイルを実行可能にする2つの方法があります。
GUIメソッド:
[アクセス許可]タブに移動し、[実行:[]プログラムとしてファイルの実行を許可する]ボックスをオンにします。
ターミナル/コマンド方式:
次のいずれかを使用できます。
cd /to/my/required/directory
次に実行する
chmod +x filename.extension
または単に実行します:
chmod +x /path/to/your/filename.extension
chmod
また、いくつかのより高度なオプションもあります。
スペースは、分割されていることを示すためのものです。 - rwx --- ---
最初のセット---
はユーザーです。2番目はグループで、最後はその他(他の誰でも)です
rは読み取り、wは書き込み、xはeXecuteを表します。
だから、誰もがそれを読むことができるが、実行するグループとそれを読み書きするユーザーのみ(しかし、何らかの理由で実行しない)は次のようになります:
-rw- rx- r--
ただし、これは次のようにコマンドに追加されます。
chmod +rw-rx-r-- /path/to/file.extension
chmod
数字でこれを行うこともできます。バイナリに基づいています(1、2、4であるため)
したがって、これらの数値があります。
ユーザーによる実行は100
です。グループごとに実行は010
です。他による実行は001です
ユーザーによる書き込みは200
です。グループごとの書き込みは020
です。他による書き込みは002
。
ユーザーによる読み取りは400
です。グループによる読み取りは040
です。他による読み取りは004
です。
次に、これらを一緒に追加して、目的の組み合わせを取得します。
だから、誰もがそれを読むことを許可するが、実行するグループとそれを書き込むユーザーのみ(ただし、何らかの理由で実行しない)は次のようになります。
400 + 040 + 004
と010
と200
つまり、600 + 050 + 004 = 654になります。
その後、コマンドを実行できます。
chmod +654 /path/to/file.extension
それを設定します。
また、すべてのアクセス許可を設定するには、次のように入力できます。
chmod +rwxrwxrwx /path/to/file.extension
または(これは書くのが少し簡単ですが、それぞれを覚えるのは難しいです):
chmod +777 /path/to/file.extension
最後に、次のことができます。
chmod -777 /path/to/file.extension
すべての権限を全員から奪うため。
そして:
chmod +300 /path/to/file.extension
他のアクセス許可(実行アクセス許可など)に影響を与えずに、ユーザーの読み取りと書き込みを追加する。
このWebサイトには非常に便利な小さなグリッドチェックボックスがあり、必要なオプションにチェックを入れるとコマンドが表示されます。
ただし、使用可能なすべての組み合わせが賢明なわけではありません。使用される主なものは次のとおりです。
755- Owner
すべてがありGroup
、Other
読み取りと実行が可能
700- Owner
すべてあり
644 - Owner
読み取りと書き込み、およびできるGroup
とOther
読むことができます
600- Owner
読み取りと書き込みが可能
また、重要なユーザーグループを使用している場合:
775 - Owner
読み取りと書き込み、およびできるGroup
とOther
読むことができます
770- すべてOwner
をGroup
持ち、Other
読み取りと実行が可能
750- Owner
すべてを備え、Group
読み取りと実行が可能
664 - Owner
とGroup
読み取りと書き込み、およびできるOther
だけで読むことができます
660 - Owner
とGroup
読み書きできます
640- Owner
読み取りおよび書き込みGroup
が可能で、読み取りが可能
/ tmpを除き、777と666はほとんど使用されません。
よく使われているものを指摘してくれたIlmari Karonenに感謝します!