スクリプトを書いてabc.sh
、 という場所に保存しましたgenerallstuff
。このフォルダに移動するには、次のようにします。
cd ~ /generallstuff
スクリプトを実行しようとすると:
chmod 755 abc.sh
エラーが発生します"no such file or directory"
しかし、スクリプトはこの場所にあります。なぜでしょうか。以前はスクリプトの実行に問題はありませんでした。
答え1
cd ~ /generallstuff
である必要がありますcd ~/generallstuff
。そうでない場合は、代わりにホームディレクトリに変更されます。
答え2
どこでいつエラーメッセージは正確に表示されますか?
確認すべき点がいくつかあります:
(1)chmod
コマンドはスクリプトを作成するのみ実行可能であれば、ない実行すると、chmod +x abc.sh
スクリプトが実行可能になります。
余談: 私は、8 進表記を使用するコマンドよりも、「人間が読める」バージョンのコマンドを好みます
chmod
。たとえば、次のようになります。
chmod u+x file
は、ユーザー用のファイルを実行可能ファイルに変更することを意味します (または単に+x
、u
デフォルトでは ser が暗黙的に指定されます)。の代わりに
g
roup、 thers 、または組み合わせを指定できます。 の代わりに などを使用できます。必要に応じて、組み合わせで再度 などを使用できます。o
u
x
w
r
+
属性を追加したり削除したりするために使用します-
。を参照してくださいchmod マニュアルページ詳細については。
(2)シェルファイルの先頭に適切なシェル呪文がありますか?例:
#!/bin/bash
(または任意のシェル)
(3)どのように実行していますか?この方法で動作するはずです:
./abc.sh
(4)注記: あなたのcd
コマンドには空間 (' '
)との間~
.../generallstuff
投稿中の単なるタイプミスであることを願いますが、そうでなければコマンドは失敗ディレクトリは変更されません。