web-dev-qa-db-ja.com

rootとしてもbashスクリプトを実行できませんか?

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

#!/bin/bash
echo "me"

Test.shとして保存してから、chmod 755 test.shを実行し、。/ test.shを実行して次のようにします。

bash: ./test.sh: Permission denied

何か案は ?

乾杯

14
Marcin

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

19
themel

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

chmod +x <script-name>
8

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

2
DaveOfTheDogs

使用する chmod +x ./test.shこれで実行できるはずです。

1
Serem

試してみてください

ls -la

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

1
Stainedart

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

1
jceifrig

そのファイルのディレクトリにいるときは./test.shを使用する必要があります。使用しない場合は、PATH TO THE SCRIPTを試してください。または、/dataのディレクトリにコピーして、シェル用にchmodすることもできます。次に、上記のスティープを実行します。それでも失敗する場合は、同じ問題があるので問題ありません。一度だけ成功しました。

0
Lan...