2016-05-12 7 views
1

Ich möchte die Ausgabe des Shell-Befehls To Variable zuweisen.Zuweisen der Ausgabe des Shell-Befehls zur Variablen

Wenn ich direkt den Befehl echo, wird der Code korrekt

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

Aber ausführen Wenn ich es Variable

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

Oder

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

Sie nicht gearbeitet werden .

Kann jemand mir einen Vorschlag für die Adressierung geben?

Antwort

4

Sie verfehlten den echo

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

die Ausgabe Hier das die echo als Eingabe für den awk

geben Der $() oder wieder den Befehl ausführen Zecken einfach und weisen Sie auf eine Variable Wenn Sie also einfach

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

es wird Ihnen nichts geben, da nichts als Eingabe für den awk Befehl übergeben wird.

+1

Vielen Dank für Ihre Hilfe. Ich stecke hier für 4 Stunden fest ... Vielen Dank für die ausführliche Darstellung der Lösung. – Ilikeperl

+1

Ich möchte Ihnen nochmals für Ihre Präsentation danken – Ilikeperl

+1

@Ilikeperl Sie sind herzlich willkommen :) – nu11p01n73R

Verwandte Themen