Respuestas:
sin espacios entre signo igual
$ List="abcd 1234 jvm something"
$ set -- $List
$ echo $2
1234
Algunas otras formas, aunque no tan eficientes como el uso de componentes internos de shell
$ echo $List | cut -d" " -f2
1234
$ echo $List | awk '{print $2}'
1234
$ echo $List | sed 's/^.[^ \t]* //;s/ .*//'
1234
$ echo $List | tr " " "\n"|sed -n '2p'
1234
set -- $something
escisiones $something
en el $IFS
carácter (por el espacio por defecto) y cesionarios las partes divididas a las variables de posición $1
, $2
, ...
Solo para complementar la respuesta de ghostdog: también puede poner $List
los elementos de una matriz y acceder al elemento de lista específico desde allí
List="abcd 1234 jvm something"
arr=($List)
echo ${arr[1]}
Tenga en cuenta que los índices de la matriz se cuentan 0,1,2, ....
Esto tiene la ventaja de no contaminar el entorno de shell con demasiadas variables nuevas.
echo
: arr=($List)