2016-05-12 11 views
1

シェルコマンドの出力を変数に割り当てたい。シェルコマンドの変数への出力の割り当て

私が直接コマンドをエコーし​​た場合、コードが正しく

for ((i=0; i<${#result[@]}; i++)); do 
     echo ${result[$i]} | awk '{print $1}' 
     done 

しかし、私は変数

size=`${result[$i]} | awk '{print $1}'` 
    echo $size 

それとも

size=$(${result[$i]} | awk '{print $1}') 
echo $size 

に割り当てる場合は彼らが働いていない実行されます。

誰でも私にそれに対処するためのいくつかの提案を与えることができます!

答えて

4

あなたはawk

$()や背中への入力だけでコマンドを実行し、それを変数に割り当てるティックとして出力echoが渡される。ここecho

size=$(echo ${result[$i]} | awk '{print $1}') 

を逃しましただから、あなただけ書くとき

${result[$i]} | awk '{print $1}' 

awkコマンドに何も入力されないので、何も表示されません。

+1

ありがとうございました。私はここで4時間立ち往生しています... ソリューションの詳細なプレゼンテーションをありがとうございます。 – Ilikeperl

+1

私はあなたのプレゼンテーションのために再度お礼を申し上げます – Ilikeperl

+1

@Ilikeperlあなたは歓迎です:) – nu11p01n73R

関連する問題