teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

具体例を追記

2017/09/05 03:00

投稿

unau
unau

スコア2468

answer CHANGED
@@ -1,2 +1,13 @@
1
1
  質問の答えになりませんが、おそらく、シェルスクリプトを組む上で、「配列に格納する」というのは悪手のことが多いです。unix 系のコマンドの多くは、単体の機能を有し、ストリームをパイプやリダイレクトで連結することで目的の機能を達成するよう設計されています。
2
- 「配列に格納する」方法を学ぶより、ご自身がやりたいこと全体を示したほうが、役に立つアドバイスをもらえると思います。
2
+ 「配列に格納する」方法を学ぶより、ご自身がやりたいこと全体を示したほうが、役に立つアドバイスをもらえると思います。
3
+
4
+ ---
5
+ 追記
6
+
7
+ たとえば、`find` した結果から特定の条件にあてはまるものを除外したうえ、名前順にしてから一つ一つそれぞれについて何か処理をする、というような場合、一旦配列に格納という処理はせず、次のように書くのがシェルスクリプトらしい処理です。
8
+ ```bash
9
+ find \Desktop -type f -name *.sh | grep -v _backup | sort | while read file; do
10
+ echo "----${file}-----"
11
+ # $file についての処理をごにょごにょ
12
+ done
13
+ ```