shell脚本的文件名一般是以.sh结尾,也可以以其他格式如.txt,甚至不加后缀。
脚本的第一行的#!/bin/bash表示指定脚本执行时的解析器。
#!/bin/bash #文件名:test.sh #除了第一行的井号表示脚本执行的解析器 #其他的井号均表示注释 echo "aaaaaaaaaaaaaaa" echo "BBBBBBBBBBBBBBBB" #echo "ccccccccccccccc" echo "ddddddddddddddddd"
新创建的的shell脚本并没有执行权限,可以通过bash命令来运行,也可以更改脚本的权限之后在使用./test.sh来执行。注意./表示当前路径,请不要直接使用test.sh来试图执行脚本,如果没有加前面的./,解释器会去/bin目录下查找test.sh,而不是在当前目录查找到test.sh。于是就会出错
ubuntu@ubuntu:~$ test.sh test.sh: command not found ubuntu@ubuntu:~$ ./test.sh bash: ./test.sh: Permission denied ubuntu@ubuntu:~$ bash test.sh aaaaaaaaaaaaaaa BBBBBBBBBBBBBBBB ddddddddddddddddd ubuntu@ubuntu:~$ chmod a+x test.sh ubuntu@ubuntu:~$ ./test.sh aaaaaaaaaaaaaaa BBBBBBBBBBBBBBBB ddddddddddddddddd ubuntu@ubuntu:~$
使用bash命令来执行shell脚本时,不需要在脚本中指定解析器,并且不需要脚本有执行权限
使用./test.sh来执行shell脚本时,需要在脚本中指定解析器,并且需要脚本有执行权限