采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
我没有将test.sh加上执行权限(没有+x),然后终端执行如下
. test.sh //中间有个空格
好像也能执行。
有什么区别,养成这样的习惯会不会有啥问题?
这样执行也是可以的。
实际上,Shell 的执行有多种方法。
1. 将 Shell 脚本作为程序运行:
需要使用 chmod 命令给 Shell 脚本加上执行权限。通过这种方式运行脚本,脚本文件第一行的 #!/bin/bash 一定要写对,好让系统查找到正确的解释器。
执行的方式是:
./test.sh
2. 将 Shell 脚本作为参数传递给 Bash 等解释器:
通过这种方式运行脚本,不需要在脚本文件的第一行指定解释器信息,写了也没用。所以不用 chmod 来给文件添加可执行权限,也可以执行。
bash test.sh
3. 用 source 命令来执行 Shell 脚本文件:
source 是 Shell 内置命令的一种,它会读取脚本文件中的代码,并依次执行所有语句。你也可以理解为,source 命令会强制执行脚本文件中的全部命令,而忽略脚本文件的权限。所以不用 chmod 来给文件添加可执行权限,也可以执行。
source test.sh
也可以简写为:
. test.sh
上面两种写法的效果相同。对于第二种写法,注意点号(.)和文件名中间有一个空格。
你可以用
man source
来查看 source 命令的手册。
一般我们还是会给 Shell 文件加上可执行权限,方便用所有的方式来执行。
你的身影如此之帅~
独帅帅不如大家一起帅~
登录后可查看更多问答,登录/注册
一网打尽Linux必备核心技能,面试、升职必备的“敲门砖”。
2.3k 3
1.6k 11
1.6k 9
1.4k 8
1.4k 7
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号