En mi secuencia de comandos bash necesito cambiar el directorio actual al directorio de inicio del usuario.Cambie el directorio de scripts al homedir del usuario en un script de shell
si quiero cambiar de directorio home foo de usuario, desde la línea de comandos que puedo hacer:
cd ~foo
que funciona muy bien, sin embargo cuando lo haga lo mismo desde el guiónMe dice :
./bar.sh: line 4: cd: ~foo: No such file or directory
Las costuras como que sería una cosa tan trivial, pero no está funcionando. ¿Cuál es el problema aquí? ¿Necesito escapar el "~" o tal vez faltan citas u otra cosa?
Editar
cuando digo usuario no me refiero usuario actual que se ejecuta la secuencia de comandos, pero en general cualquier otra usuario en el sistema
Editar
Aquí está el guión:
#!/bin/bash
user="foo"
cd ~$user
si el nombre está codificado como
cd ~foo
funciona, pero si es en el variables usuario entonces no lo hace. ¿Que me estoy perdiendo aqui?
¿Desea el directorio de inicio del usuario foo o el directorio foo en el directorio de inicio del usuario? –
Quiero el directorio de inicio del usuario foo –
¿Cómo es tu shebang? –