0

だからこれを手に入れてください。スクリプトを ./something.sh と sh something.sh で実行してから約 3 か月が経ちました。これらのスクリプトは、常に起動元のディレクトリから実行されています。

現在のディレクトリではなく / から起動するように見えるため、突然スクリプトが機能しなくなりました。たとえば、私のスクリプトが次のようになっているとしましょう。

cd players

rm *

プレーヤーに移動する代わりに、「プレーヤー」フォルダーが見つからないためエラーが発生し、ルート ファイル システム全体を削除しようとします。(幸運なことに、これらを Sudo または Root として実行していません)。

何か案は?これは以前は機能していましたが、今は動作し始めました!

ありがとう!

4

3 に答える 3

2

安全のために、回線を次のように変更できます。

cd players && rm *

players正常に変更できた場合にのみ、コンテンツを削除します。

于 2013-09-16T13:17:14.220 に答える
1

これを試して :

cd ./players

rm *

期待どおりに動作するはずです。

于 2013-09-16T13:11:49.050 に答える
0

スクリプトが別の方法で開始されていると推測できます。私が考えることができる最も可能性が高いのは、ホームディレクトリを(もう)持っていないユーザーのcronジョブによって呼び出されることです。

しかし、これは本当に暗闇でのショットです。スクリプトがどのように開始されるかについてもっと考え、そのトピックについて調査することを提案します。

于 2013-09-16T13:25:18.083 に答える