2017-02-22 7 views
0

Ich habe eine Variable $x, die einen Wert einer Position eines Arguments für das Skript hat (sagen wir 8). Ich muss den Wert im 8. Argument (sagen 1) in eine andere Variable y erfassen und in der Lage sein, diese als Variable $y ($ 1) zu verwenden, um auf eine Spalte in einer Datei zu verweisen.Arbeiten mit Variablen in Unix

+1

Um Ihre Frage zu klären, zeigen Sie bitte die Funktion mit den 8 oder 9 Argumente. Bitte geben Sie auch Ihre Frage an. (Ich sehe kein Fragezeichen) – Roland

+0

Unklar was Sie fragen. Bitte geben Sie die Beispieleingabe und die erwartete Ausgabe aus diesen Daten sowie Ihren besten Versuch zur Lösung Ihres Problems an. Viel Glück. – shellter

+1

Willkommen bei Stack Overflow. Bitte lesen Sie bald die [Über] und [Ask] Seiten. Welche Shell verwendest du? Die Antworten für bash, csh, dash, ksh, zsh werden anders sein. Wenn Sie sagen, dass Sie auf eine Spalte in einer Datei verweisen, was bedeutet das? Du wirst es an "cut" oder "awk" übergeben oder direkt in der Shell verwenden, irgendwie, vielleicht als ein Array-Index? Sie sollten zeigen, was Sie versucht haben - Ihre beste Leistung - und erklären, was damit nicht stimmt; das ist Teil der Erstellung eines MCVE ([MCVE]). –

Antwort

1

Sie können die indirekte Referenz verwenden ${!var} dies zu tun:

set one two three four five six seven eight 
x=8 
y=${!x} 
echo $y 

Sie diese Ausgabe erhalten:

eight 
+0

Wenn das OP Bash (oder eine verwandte Shell) verwendet. Das wird nicht allgemein unterstützt. –

Verwandte Themen