创建
新建一个文件 test.sh(vi/vim test.sh
),扩展名为 sh(sh代表shell),此处扩展名可不加,因为Linux系统并非通过后缀识别文件,而是通过文件的头部信息来来获取文件类型或者编码格式。只是为了自己明白。
#!/bin/bash
echo "Hello World !"
#!/bin/bash
分析
第一行的#!
是一个特殊的表示符,其后跟着执行此脚本程序的解释器路径。除了第一行的#
以外,其余均为注释。
/bin/bash
是解释器的路径,并非只有bash,还有C shell、K shell…
echo "Hello World !"
分析
echo
命令用于向窗口输出文本。与 欲输出的文本内容 间要加空格
"Hello World !"
欲输出的文本内容
权限管理
[root@kaliDesktop]#./test.sh
bash: ./test.sh: Permission denied #没有权限
[root@kaliDesktop]#ls -l
-rw-r--r-- 1 root root 33 Mar 2 11:08 test.sh #可以看到无执行权限
此时还不可以执行,这是因为新创建的文件是没有执行权限的(注意是 文件 而不是文件夹,新创建的 文件夹 是有执行权限没有写权限的)
使用命令chmod u+x test.sh
或 chmod 744 test.sh
为 文件的创建者 增加执行权限
执行
[root@kaliDesktop]#./test.sh
Hello World ! #执行结果
注意,执行脚本时候或者全路径
,或者 ./file.sh
,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找。