このようにして、検索出力を変数に保存しようとしています。
a=find /Users/Downloads/DTI_allsites/subprojects/*/UII_0077 -name "dti_preprocessed" -type d
ただし、引き続き次のメッセージが表示されます。
-強く打つ:
/Users/Downloads/DTI_allsites/subprojects/UII_B/UII_0077: ディレクトリです。
コマンドを使用しようとするたびに、次のようにパスがエコーされます。
echo $a
変数には何も保存しません。この問題をどのように解決できますか?
答え1
ファイルパスのリストが返されるので、find
配列変数を使用する必要があります。ファイルパスにはNULを除く任意の文字を含めることができるため、-print0
NULを使用して結果を分割する必要があります。
+によってbash4.4
:
readarray -td '' list < <(find ... -print0)
so-something-with "${list[@]}"