![-ksh: 収益_ext.ksh: 見つかりません [該当するファイルまたはディレクトリなし]](https://linux33.com/image/37608/-ksh%3A%20%E5%8F%8E%E7%9B%8A_ext.ksh%3A%20%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%20%5B%E8%A9%B2%E5%BD%93%E3%81%99%E3%82%8B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%BE%E3%81%9F%E3%81%AF%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%AA%E3%81%97%5D.png)
not found [No such file or directory]
kshスクリプトを実行しようとしたときに同じエラーが発生しました。 PATHのヒントを読んで、./
投稿のaを使ってスクリプトを実行してください。ここそしてここ試してみたが運がなかった。スクリプトはフル権限で実行したいディレクトリに存在しますが、直接実行したり./
スクリプトの最初の行を使用したりする場合も同様です。#!/usr/bin/ksh
エラーメッセージは次のとおりです。
-ksh: revenue_ext.ksh: not found [No such file or directory]
ただし、ksh
同じディレクトリ内の他のスクリプトは正常に実行されるため、ここで何が間違っているのかはまったくわかりません。どんな助けでも大変感謝します。
答え1
このエラーを引き起こすいくつかのキャリッジリターンがある可能性があると思います。ここ。エラーを正常に再現できました。
テスト
cat ksh_experiment.ksh
#!/usr/bin/ksh
echo "Hello"
これでファイルの実行時に権限を提供すると、出力が正常に生成されます。今議論したようにここ、ファイルにキャリッジリターンを挿入しました。これでスクリプトを実行すると、私が得た結果は次のようになります。
ksh: ./ksh_experiment.ksh: not found [No such file or directory]
これでcat -v ksh_experiment.ksh
同じ出力が生成されます。また、と入力するとvim ksh_experiment.ksh
新しいファイルが開きます。
提供されたリンクの回答で説明したように、次のコマンドを使用してキャリッジリターンを削除しました。
perl -p -i -e "s/\r//g" ksh_experiment.ksh
修正を実行すると、期待した結果が表示されます。
答え2
私の場合、ファイルが次のいずれかである場合は、同じエラーメッセージが表示されます。.kshまたは。このように:
-ksh: ./somefile.sh: not found [No such file or directory]
アクセスの問題であることがわかりました。
ファイルを実行可能にしても、そのファイルを実行するにはサーバーに対する管理者権限が必要な場合があります。コマンドラインを実行できますが、スクリプトの実行結果が見つかりません。以下でスクリプトを実行してみてください。Sudoでは、rootでスクリプトを実行できるかどうかを確認できます。
答え3
^M
キャラクターのせいでこんなことが起こりました。
それを試してみると、dos2unix <File_name>
期待した結果が得られます。