1 votos

¿Cómo puedo utilizar el comando ls con una variable para un directorio en zsh?

Establecí una variable llamada $G2_HW_sci . Esta es la salida con echo .

user@192 SS % echo $G2_HW_sci                              
~/Documents/trabalho/SS/G2/science/homework/student_work/

Luego he intentado acceder al contenido de esta carpeta con ls pero me da este error:

user@192 SS % ls $G2_HW_sci
ls: ~/Documents/trabalho/SS/G2/science/homework/: No such file or directory

user@192 SS % ls "$G2_HW_sci"                                          
ls: ~/Documents/trabalho/SS/G2/science/homework/: No such file or directory

user@192 SS % ls "${G2_HW_sci}"
ls: ~/Documents/trabalho/SS/G2/science/homework/student_work/: No such file or directory

user@192 SS % ls $"G2_HW_sci"
ls: $G2_HW_sci: No such file or directory

Ahora, si sólo uso ls con la ruta absoluta del directorio funciona:

user@192 SS % ls ~/Documents/trabalho/SS/G2/science/homework/student_work
2A          G2C_johnny.jpg      G2D_leonidas_1.jpg
2B          G2C_boris.jpg       G2E_angeline_1.jpg
2C          G2D_hellen_1.pdf        other
G2C_jerry_1.jpeg    G2D_leonidas_1.2.jpg

Otra opción que funciona es: echo $G2_HW_sci | ls

He leído algunos materiales por aquí pero todos parecen usar bash y al probar sus soluciones no me ha funcionado.

Creo que puede tener algo que ver con el hecho de que estoy usando zsh en lugar de bash .

¿Qué puedo hacer para ver el contenido de la carpeta con el ls ¿comando?

2voto

No muestras cómo asignas la variable en primer lugar, pero normalmente los problemas con ~ en las variables provienen de la forma de citar (o no citar) durante la asignación. Para que funcione es necesario omitir las comillas al asignar ~ a una variable.

$ foo=~
$ echo $foo
/Users/pse
$ foo="~"
$ echo $foo
~
$ ls $foo
ls: ~: No such file or directory

0voto

GrGr Puntos 181

Descubrí cuál era el problema. Estaba usando una ruta relativa con el ~ .

He utilizado la ruta absoluta y ha funcionado.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X