directory から実行すると、 directory内の directoryB
のディレクトリ構造をミラーリングする bash スクリプトを作成しています。A
B
現在、私は次のようにやっています:
#!/bin/bash
dirify () {
echo $1
}
export -f dirify
find "../test" -type d -exec bash -c "dirify '{}'" \;
このスクリプトを directory から実行していますB
。これ../test
は directoryA
です。幸いなことに、テストに使用しているディレクトリには'
、名前に が含まれるフォルダーが含まれています。このスクリプトを実行すると、bash がこれらのディレクトリに到達すると、次のエラーが発生します。
> bash: -c: line 0: unexpected EOF while looking for matching `''
> bash: -c: line 1: syntax error: unexpected end of file
(行 0 と行 1 はdirify()
関数内の行を参照することに注意してください)
この問題をより簡単に説明すると、次のようになります。
find "../test" -exec bash -c "echo '{}'" \;
この例では、同じエラーが発生します。
とにかく、これは問題です。本番環境では、ファイル パスに'
文字が含まれていないと想定できないからです。
とにかくこの問題の周りにありますか?