0

次の基本的なスクリプトを作成し、次のように保存しましたmy_script

#!/bin/sh
# My first script

echo "Hello World!"

次に、次のコマンドchmod 755 my_scriptを実行しました。シェルにスクリプトを実行する権限を与えます。このスクリプトはbin、ユーザーのサブディレクトリ (macbook > bin) である自分のディレクトリに配置しました。を実行して、このディレクトリをパスに追加しましたexport PATH=$PATH:binbinディレクトリが に追加されているかどうかを再確認したところ、追加されましPATHた。binディレクトリまたはユーザー ディレクトリでのみスクリプトを実行できます。しかし、たとえば macbook > documents に移動し、入力my_scriptしてスクリプトを実行しようとすると、スクリプトは実行されません。次のエラーが表示されます。-bash: bin/my_script: No such file or directory

これらの他のディレクトリでスクリプトが実行されないのはなぜですか?

4

3 に答える 3

4

$PATH に絶対パスを追加する必要があります。

export PATH=$PATH:$HOME/bin

そうしないと、シェルは常に現在のディレクトリの bin サブディレクトリを検索します (現在のディレクトリが $HOME の場合にのみ機能します)。

于 2013-06-19T01:16:16.963 に答える
3

bin/bin現在のディレクトリ内のフォルダを意味します。したがって、どこでも機能するようにするには/Users/user/bin、現在のディレクトリに依存しない絶対パスである include にパスを変更します。

于 2013-06-19T01:16:01.610 に答える
1

binだけでなく、ディレクトリへの完全なパスを追加する必要がありますbin。が にある場合binは、または$HOMEを追加できます。$HOME/bin~/bin

于 2013-06-19T01:15:28.513 に答える