19

私は奇妙な問題を抱えています.bashスクリプトを次のような基本的なものでも実行できません:

#!/bin/bash
echo "me"

私はそれをtest.shとして保存してからchmod 755 test.shを実行し、一度./test.shを実行して取得します:

bash: ./test.sh: Permission denied

これを引き起こしている可能性のあるアイデアはありますか?

4

9 に答える 9

23

これは、「noexec」オプションを使用してファイル システムをマウントした場合に発生する可能性があります。削除する必要があります。

于 2011-11-11T14:21:25.377 に答える
18

スクリプトは実行可能である必要があります。これを使って:

chmod +x <script-name>
于 2017-04-20T21:30:48.203 に答える
1

この特定のスレッドに直接関係するわけではありませんが、ファイルが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を使用します。

于 2012-04-19T11:33:53.217 に答える
1

試す

ls-la

ファイルの実際の権利と所有権を確認します。chmod コマンドが実際に機能したかどうかを確認するには。ファイル チェックの mod とともに所有権を変更することをお勧めします: http://www.tuxfiles.org/linuxhelp/fileowner.html

于 2011-11-11T14:25:26.290 に答える
1

また、スクリプトを含むディレクトリ/ファイル システムが nfs マウントされているかどうかを確認します。root は nfs マウントされた場所からスクリプトを実行しません。

于 2016-03-22T20:13:08.417 に答える