私は間違った言葉を使用した可能性がありますので、修正してください。私が持っているとしましょう:
lst=(`ls $1`)
echo $lst #this gives the first element of the list
しかし、私がこれをしようとすると:
lst=$(ls $1)
echo $lst #this gives me all the files under argument directory
ベストアンサー1
まず、$1
(最初のパラメータ)はなぜここにありますか?第二に、変数の内容ではなくecho lst
としてのみ作成してください。lst
あなたはそれをしたくなければなりませんecho $lst
。
括弧で囲まれた割り当ては、次の使用時に最初のbash(1)
要素として評価されるインデックスなしで配列を作成します。
lst=(1 2 3)
echo $lst # prints 1
echo ${lst[0]} # prints 1
echo ${lst[1]} # prints 2
echo ${lst[*]} # prints 1 2 3