Tengo una variable en mi script bash cuyo valor es algo como esto:
~/a/b/c
Tenga en cuenta que es tilde sin expandir. Cuando hago ls -lt en esta variable (lo llamo $ VAR), no obtengo tal directorio. Quiero dejar que bash interprete / expanda esta variable sin ejecutarla. En otras palabras, quiero que bash ejecute eval pero no ejecute el comando evaluado. ¿Es esto posible en bash?
¿Cómo logré pasar esto a mi script sin expansión? Pasé el argumento rodeándolo con comillas dobles.
Prueba este comando para ver a qué me refiero:
ls -lt "~"
Esta es exactamente la situación en la que estoy. Quiero que se expanda la tilde. En otras palabras, ¿con qué debería reemplazar la magia para hacer que estos dos comandos sean idénticos:
ls -lt ~/abc/def/ghi
y
ls -lt $(magic "~/abc/def/ghi")
Tenga en cuenta que ~ / abc / def / ghi puede o no existir.
foo=~/"$filepath"
ofoo="$HOME/$filepath"
dir="$(readlink -f "$dir")"
eval
.