2016-07-10 5 views
1

Ich versuche, alle Variablen aufzulisten, aber dieser Code funktioniert nicht, keine Ahnung?Liste alle Variablen in einem Skript mit Bash

#!/bin/bash 

read -p "Introduce el numero de alumnos: " alumnos 

x=1 

until [ $alumnos -lt $x ]; do 
     read -p "La nota del alumno $x es: " nota$x 
let x=$x+1 
done 

(set -o posix ; set) | less | echo 
+0

Möchten Sie wirklich * all * Variablen oder nur die 'notaX' Variablen auflisten? – chepner

+0

@chepner notaX diejenigen – rachuism

Antwort

2

Tropfen der letzte | echo in der Pipeline, macht es keinen Sinn, es machen, so schreiben Sie einfach dies:

(set -o posix ; set) | less 

aufzulisten nur die Variablen mit nota starten, können Sie eine grep hinzufügen :

(set -o posix ; set) | grep ^nota | less 
+0

@rachuism siehe meine aktualisierte Antwort – janos

1

Eine Option ist nur declare -p zu verwenden:

$ declare -p ${!nota*} 
declare -- nota1="3" 
declare -- nota2="6" 
declare -- nota3="8" 
Verwandte Themen