指定された場所でtarを抽出するスクリプトを実行する必要があります。私のような単純なものでしたパスが正しくてもシェルスクリプトcdが失敗する
:私は手のすべてでコマンドを実行した場合
cp test.tar /var/www/html
cd /var/www/html
tar xvf test.tar
はOKです。私がそれらを.shで保存して#bash script.shを使用すると、次のエラーが表示されます。 ":ディレクトリcd:/ var/www/html"ではありません。すべての理想はなぜですか?
あなたの時間はTyです。
メモ:仮想マシン(CentOS 5.5)でスクリプトバージョンを試してみましたが、スクリプトはうまくいきました。問題は実際のマシンで発生します(同じOSディスクイメージ、仮想マシン...これは私にとって本当に奇妙なことです)。
追加:サービスmysqld start ...のようなものを呼び出そうとしています...これはdirが存在しないということにも失敗します。
'html'が存在しない場合、copyコマンドはtest.tarの名前を 'html'に変更します。実際にはディレクトリで、ファイルのコピーではないことを確認してください。 – Cfreak
それは存在する... dir – zozo
あなたは別のユーザーとしてスクリプトを実行している可能性はありますか?あなたのスクリプトの一番上に 'whoami'と 'ls -la/var/www'を追加し、コマンドラインから直接実行したときの結果と比較してみてください。 – Costa