bash変数を生成し、ループを介して値を割り当てる方法はありますか?
おおよそ次のようになります。
#!/bin/bash
c=0
for file in $( ls ); do
var"$c"="$file";
let c=$c+1;
done
編集:これがリストの悪い選択肢であることを指摘した@Costasと@mdpcに感謝します。質問は単に理論的です。
答え1
まあ、あなたは間違いなく使用することができます評価する次のように:
c=0
for file in $( ls ); do
eval "var$c=$file";
c=$((c+1));
done
このコードは、それぞれファイル名を含むvar0、var1、var2 ...という変数を生成します。配列を使用してこれを行うには妥当な理由があると思います。
答え2
たぶん配列を意味するかもしれません。いくつかの割り当て方法があります。
最初:
c=0
for file in $( ls ); do
var[$c]="$file";
c=$(($c+1));
done
第二:
c=0
for file in $( ls ); do
var[c++]="$file";
done
第三:
for file in $( ls ); do
var[${#var}]="$file";
done
第四:
var=( $(ls) )
五
...
- 使用する必要なしにすべてのファイルを
ls
配置するだけです。*
[]
ロゴは$
省略可能