bash ./xx.sh 与 bash -c './xx.sh' 区别

bash ./xx.sh 与 bash -c './xx.sh' 区别

💡 原文中文,约2500字,阅读约需6分钟。
📝

内容提要

本文介绍了在bash中执行脚本文件的两种命令方式:'bash ./xx.sh'和'bash -c './xx.sh'。这两种方式的效果相同,只是前者直接使用bash解释器执行脚本文件,后者将脚本文件内容作为命令序列执行。同时,还介绍了给执行脚本传递参数的方法。

🎯

关键要点

  • 介绍了在bash中执行脚本文件的两种命令方式:'bash ./xx.sh'和'bash -c './xx.sh'。
  • 两种方式效果相同,前者直接使用bash解释器执行脚本,后者将脚本内容作为命令序列执行。
  • 使用'bash ./xx.sh'时,可以传递参数,例如:bash ./xx.sh param1 param2。
  • 使用'bash -c'时,-c后面的字符串是命令序列,可以包含多个命令。
  • 执行'bash -c './xx.sh''时,实际上是调用外部脚本,需确保脚本有可执行权限。
  • 使用'bash -c'会启动两层子shell,首先是String中的内容,然后是调用的脚本。
  • 总结:'bash shellFile.sh'直接执行文件内容,'bash -c String'将String内容当作脚本执行。
  • 两种方法都可以传递参数,但传递方式不同,需注意参数编号。
➡️

继续阅读