0

ディレクトリ間でファイルを移動する簡単なスクリプトがあります。基本的には、次のとおりです。

mv /dir/* /dir/proc/

シェルスクリプト「mvproc.sh」に保存されます。

何らかの理由で、スクリプト (sh mvproc.sh) を実行すると、ファイルは実際に移動されますが、ファイル名は保持されず、代わりに空のファイル名が取得されます。ただし、bash プロンプトで同じコマンドを実行すると、正常に動作します。

このスクリプトは以前は Debian で正常に動作していましたが、ハード ドライブに障害が発生したため、すべてを Ubuntu マシンに移行しています。

なぜこれが起こっているのですか?それはとても簡単に思えますが、私はそれを理解することができません。

どうもありがとう。

編集...

私は解決策を見つけたと思います。何らかの理由で、メモ帳++またはgeditでshスクリプトを編集しているときに、改行や改行などを表示できなかった可能性があります。これを解決するには、gedit でスクリプトを開くときに名前を付けて保存し、一番下のドロップダウン メニューで [Unix/Linux] を選択します。これで、見えなくても奇妙な改行が取り除かれることを願っています。

願わくば、これが将来、私のような貧しい魂がこれについて頭を悩ませるのに役立つことを願っています!

ありがとう!

4

1 に答える 1

0

試す:mv /dir/file /dir/proc/file

確かにファイルを移動していますが、宛先名を指定していません。の他の使用法mv:

移動して名前を変更:mv /dir/filename /dir/proc/newfilename

名前を変更:mv /dir/filename /dir/newfilename

于 2014-07-26T19:26:34.317 に答える