我创建了以下脚本,仅用于学习 wsl 中的 bash 脚本,在 nano 中保存为 Desktop.sh
#!/bin/bash
cd /mnt/c/Users/myusername/Onedrive/Desktop
当我在 shell 中输入 bash Desktop.sh
什么都没发生
任何建议都会有帮助,谢谢
答案1
您使用命令调用的脚本bash Desktop.sh
运行正常,但您没有看到任何效果。
为什么?
因为该脚本是在子shell中运行的。
使用 执行脚本bash Desktop.sh
将启动一个子 shell,并在子 shell 中运行任何命令。因此,当前目录在子 shell 中发生更改,并且仅在子 shell 中发生更改。当脚本停止时,您将返回到 shell,其中没有任何变化。如果您使脚本可执行,然后通过键入其路径名来运行它,也会发生同样的情况。在这种情况下,#!/bin/bash
将读取 shebang ( ) 以确定要加载哪个 shell。
到看效果,你需要cd
在当前的您可以通过以下方式执行此操作:采购剧本:
source Desktop.sh
或者使用快捷方式:
. Desktop.sh
现在,效果就像您自己在提示符下输入脚本中的命令一样。