shell脚本可以直接./**.sh,也可以bash **.sh
我用./**.sh运行自己写的一个脚本,会出现如下的错误:
[email protected]:~$ ./pixel.sh bash: ./pixel.sh: 权限不够 [email protected]:~$ sudo ./pixel.sh [sudo] bnrc 的密码: sudo: ./pixel.sh:找不到命令
但运行bash **.sh可以。
./**.sh是将脚本作为可执行程序在执行,需要用chmod改权限才可以
将上面的代码保存为 test.sh,并 cd 到相应目录:
chmod +x ./test.sh #使脚本具有执行权限 ./test.sh #执行脚本
注意,一定要写成 ./test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找。
时间: 2024-11-06 12:22:03