私は奇妙な問題を抱えています.bashスクリプトを次のような基本的なものでも実行できません:
#!/bin/bash
echo "me"
私はそれをtest.shとして保存してからchmod 755 test.shを実行し、一度./test.shを実行して取得します:
bash: ./test.sh: Permission denied
これを引き起こしている可能性のあるアイデアはありますか?
私は奇妙な問題を抱えています.bashスクリプトを次のような基本的なものでも実行できません:
#!/bin/bash
echo "me"
私はそれをtest.shとして保存してからchmod 755 test.shを実行し、一度./test.shを実行して取得します:
bash: ./test.sh: Permission denied
これを引き起こしている可能性のあるアイデアはありますか?
これは、「noexec」オプションを使用してファイル システムをマウントした場合に発生する可能性があります。削除する必要があります。
スクリプトは実行可能である必要があります。これを使って:
chmod +x <script-name>
この特定のスレッドに直接関係するわけではありませんが、ファイルがWindowsシステムから送信された場合、行末にCR/LFがある可能性があります。これは、最初の実行行を含むファイル内のすべての行に影響し、ファイルを表示している場合は表示されません。
$ ./test.sh
-bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory
これを確認するには、ファイルをcat -A:$ cat -A ./test.sh#!/ bin / bash ^ M $ echo "me" ^ M $
削除するには、dos2unixを使用します。
試す
ls-la
ファイルの実際の権利と所有権を確認します。chmod コマンドが実際に機能したかどうかを確認するには。ファイル チェックの mod とともに所有権を変更することをお勧めします: http://www.tuxfiles.org/linuxhelp/fileowner.html
また、スクリプトを含むディレクトリ/ファイル システムが nfs マウントされているかどうかを確認します。root は nfs マウントされた場所からスクリプトを実行しません。