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.sh
funcionó perfectamente, pero no ve ningún efecto.
¿Por qué?
Porque el script se ejecuta en una subcapa.
La ejecución del script bash Desktop.sh
iniciará 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/bash
se lee el shebang ( ) para determinar qué shell cargar.
Averun efecto, en su lugar necesita ejecutar el cd
comando 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.