首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么` `sh myscript`和` `source myscript`的$0不一样?

sh myscriptsource myscript是两种不同的方式来执行脚本文件。

  • 当使用sh myscript命令执行脚本时,$0表示的是当前脚本的文件名。这是因为sh命令是一个独立的进程,它会将脚本文件作为参数传递给自己,因此$0会被设置为脚本文件的名称。
  • 当使用source myscript或者.命令执行脚本时,$0表示的是当前shell的名称。这是因为source命令是在当前shell环境下执行脚本,而不是启动一个新的进程。因此,$0会被设置为当前shell的名称。

这两种方式的不同导致了$0的取值不同。在实际应用中,可以根据需要选择使用sh命令或者source命令来执行脚本,具体取决于是否需要在当前shell环境中执行脚本所做的修改生效。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券