2017-12-01 19 views
-2

を私たちは、以下の実行我々は、コマンドの実行、次の取得の実行ログをチェックした後コマンド:「RM」と「CP」

rm -f $folder_name/filename* 

cp $folder_name1/filename1* $folder_name/ 

コマンドいる

rm -f '/home/user/file*' 

cp /home1/user1/file1* /home/user/ 

rmがで実行されるのはなぜ単一引用符ではなく、cpコマンドですか?

+0

ワイルドカード拡張(およびその他のオプション処理)は、 'cp' /' rm'ではなく 'bash'(または他のシェル)によって行われます。 –

答えて

0

bash -xの出力を調べて、曖昧さ回避のためだけに引数の前後に一重引用符を追加する可能性があります。しかし、あなたが表示しているコードは、あなたが記述する出力にはなりません。ワイルドカードは、マッチを持っている場合

rm wildcard* 

rmと一致するファイルに展開されます。それはない場合は、しかし、拡大は

'rm' 'wildcard*' 
私はちょうどそれ以上の評価は何 bash -x(と、少なくともいくつかの亜種にsimilary、行わないことを示すために引用符を追加した

と同等になりますsh -x)があります。

関連する問題