somecommands.sh
私には1つあり、それを実行可能にするために使用しているとしますchmod 777
。自分のディレクトリで実行するために./scommand.sh
単に入力するのではなく、入力する必要があるのはなぜですか?somecommand.sh
これは言う?省略が可能な場合はどうすればよいですか?
ありがとう
ベストアンサー1
pwd
現在のパス()が実行可能ファイルの検索パスにないため、これを行う必要があるかもしれません。
コンソールに次のように入力します。
echo $PATH | tr ':' '\n'
印刷された各フォルダは、実行可能ファイルの検索パスにあります(順番に)。
次のファイルを実行するにはその他ディレクトリの場合は、フル(相対パスまたは絶対)パスを指定する必要があります。
./script.sh
現在のディレクトリ(./
、、ユーザーの場所に相対的)およびファイル名(script.sh
)を表します。ルートフォルダから始めて、ファイルのフルパスを同じように使用できます/
(たとえば/home/guo/script.sh
、これがユーザー名でファイルがホームディレクトリにある場合)。
ヒントとして、このファイルを頻繁に使用する場合は、ローカル/bin
ディレクトリ(~/bin
ホームディレクトリなど)を作成し、たとえばそのファイルを配置することをおexport PATH="$HOME/bin:$PATH"
勧めします.bashrc
。次に、スクリプトをそのディレクトリに入れます。
別の点:使用しないことをお勧めします。777話実行権限で。代わりに私は提案する755話したがって、あなただけがファイルを上書きする権限を持っています。ファイルを実行可能にするには、通常は必要chmod +x script.sh
に応じて機能します。
上記と同様に、はい「現在の」ディレクトリをpath:に追加することは可能ですexport PATH=".:$PATH"
が、これはお勧めできません。私強く~/bin
これらのユースケースには、プライベートディレクトリ()を使用することをお勧めします。