- ベストアンサー
find -exec内のshに変数を渡す方法
次のコマンドを実行しても、find -exec内の${from_dir}の内容が渡らず、/*.csvと解釈されます。 どのようにすればよろしいのでしょうか。 from_dir=/home/ksasaki find /home/s???????/ -maxdepth 0 -exec sh -c 'cp ${from_dir}/*.csv {}310/; ' \; 宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
新たに起動したシェルから変数が見えないためだと思います。 (1)見えない $ foo=string $ sh -c 'echo $foo' (2)見える $ export foo=string $ sh -c 'echo $foo' (3)現在のシェルが展開 $ foo=string $ sh -c "echo $foo"
その他の回答 (1)
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.1
シングルクォートの意味は理解できていますか?
質問者
補足
-cオプションでシングルクオートの内容を展開しているんですよね。
お礼
こんな違いがあったんですね。 大変勉強になりました。 ありがとうございました!