运行自己的shell脚本

shell脚本可以直接./**.sh,也可以bash **.sh

我用./**.sh运行自己写的一个脚本,会出现如下的错误:

bnrc@bnrc:~$ ./pixel.sh
bash: ./pixel.sh: 权限不够
bnrc@bnrc:~$ 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 告诉系统说,就在当前目录找。

 

posted @ 2017-06-09 23:28  有梦就要去实现他  阅读(426)  评论(0编辑  收藏  举报