intento usar un script bash en wsl con cd pero no hace nada

intento usar un script bash en wsl con cd pero no hace nada

He creado el siguiente script solo para aprender el script bash en wsl y guardarlo como Desktop.sh en nano.

#!/bin/bash 
cd /mnt/c/Users/myusername/Onedrive/Desktop

cuando estoy en el shell y escribo bash Desktop.sh

no pasa nada

Cualquier consejo sería útil gracias.

Respuesta1

Su script, que invocó con el comando, bash Desktop.shfuncionó perfectamente, pero no ve ningún efecto.

¿Por qué?

Porque el script se ejecuta en una subcapa.

La ejecución del script bash Desktop.shiniciará un subshell y ejecutará cualquier comando dentro del subshell. Por lo tanto, el directorio actual se cambia en el subshell, y sólo en el subshell. Cuando el script se detiene, regresa a su shell, donde nada ha cambiado. Lo mismo sucede si hizo que el script fuera ejecutable, lo ejecutan escribiendo su nombre de ruta. En ese caso, #!/bin/bashse lee el shebang ( ) para determinar qué shell cargar.

Averun efecto, en su lugar necesita ejecutar el cdcomando en elactualcaparazón. Puedes hacerlo porabastecimientola secuencia de comandos:

source Desktop.sh

o con una notación abreviada:

. Desktop.sh

Ahora, el efecto es como si usted mismo hubiera escrito los comandos en el script en el mensaje.

información relacionada