shellスクリプトで実行中に「そのファイルやディレクトリがありません」という解決策を提示します。
1295 ワード
bad interpreter:No such file or directoryが発生した原因は、ファイル形式の問題です。このファイルはWindowsの下で作成されました。改行はユニックスとは違っていますが、vimの下でセットしないと全然見えません。問題の分析:1、windowsの下で良いSHELLファイルを編纂して、linuxに伝わって実行して、間違いを提示します。2、エラー情報:bad interpreter:そのファイルやディレクトリがありません。
問題の原因:オペレーティングシステムはwindowsで、windowsで編集したスクリプトですので、文字が見えないかもしれません。シナリオファイルはDOS形式の行末を\rで表示します。ASCIIコードはそれぞれ0 x 0 D、0 x 0 Aです。解決方法:このファイルがDOS形式なのか、それともUNIX形式なのか、それともMAC形式の(1)vim filenameなのか、コマンド:set ffはdosまたはunixの文字が見られます。確かにdos形式の場合、set ff=unixでunix形式に強制されて、ディスクが終了したら実行できます。異なるプラットフォームのテキストファイルフォーマットを変換するには、1.unix 2 dosまたはdos 2 unixの2つの小さなプログラムが使えます。簡単です。djgppの2つのプログラムの名前はdtouとtod、uはunix、dはdos 2を表します。sedというツールを使ってもいいです。
添付:1つを書き残してください。/その書類やカタログの問題はありません。
今日は以前書いた簡単なshellスクリプトを見ています。
実行時に常にヒントを与えます。 (bash://hello.sh:bin/bash:悪いインタプリタ:そのファイルやディレクトリはありません。しかし、shで実行すると正しいです。
元のスクリプト:
(間違いが一目でわかるかどうか試してみてください。
その後何回かの検査で自分の書いたものがなくなったことに気づきました。
最初の行を改行すべきです。 #!/bin/bash、一つ足りないです。
はい、とても簡単な問題、自分は以前にこのような誤りがまだあることを発見していません!shellシナリオは確かに使いやすいですが、唯一難しいのはフォーマットの要求が高すぎることです。
問題の原因:オペレーティングシステムはwindowsで、windowsで編集したスクリプトですので、文字が見えないかもしれません。シナリオファイルはDOS形式の行末を\rで表示します。ASCIIコードはそれぞれ0 x 0 D、0 x 0 Aです。解決方法:このファイルがDOS形式なのか、それともUNIX形式なのか、それともMAC形式の(1)vim filenameなのか、コマンド:set ffはdosまたはunixの文字が見られます。確かにdos形式の場合、set ff=unixでunix形式に強制されて、ディスクが終了したら実行できます。異なるプラットフォームのテキストファイルフォーマットを変換するには、1.unix 2 dosまたはdos 2 unixの2つの小さなプログラムが使えます。簡単です。djgppの2つのプログラムの名前はdtouとtod、uはunix、dはdos 2を表します。sedというツールを使ってもいいです。
sed ‘s/^M//' filename > tmp_filename
mv -f tmp_filename filename
は特に説明します。それを生成する方法は、まずCTRL+Vを押してから車(またはCTRL+M)に戻ります。また、SHELLプログラムがcommand not foundを報告する時に、PATHの中にプログラムがあるかどうかチェックします。添付:1つを書き残してください。/その書類やカタログの問題はありません。
今日は以前書いた簡単なshellスクリプトを見ています。
実行時に常にヒントを与えます。 (bash://hello.sh:bin/bash:悪いインタプリタ:そのファイルやディレクトリはありません。しかし、shで実行すると正しいです。
元のスクリプト:
(間違いが一目でわかるかどうか試してみてください。
その後何回かの検査で自分の書いたものがなくなったことに気づきました。
最初の行を改行すべきです。 #!/bin/bash、一つ足りないです。
はい、とても簡単な問題、自分は以前にこのような誤りがまだあることを発見していません!shellシナリオは確かに使いやすいですが、唯一難しいのはフォーマットの要求が高すぎることです。