您的位置:首页 > 运维架构 > Shell

shell脚本编写及执行

2017-11-17 21:09 423 查看
一. 如何新建一个脚本

可以新建一个文件(touch),然后再用文本编辑器(vim)编辑文件。也可以使用vi+脚本名直接新建一个文件。脚本扩展名一般为 sh,不过扩展名并不影响脚本执行,只要见名知意就好。

二. 脚本开头

#!/bin/bash
echo "Hello World !"
#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。<
4000
/span>

三. 运行脚本

1. 作为可执行程序

例如脚本名为test.sh,给它添加可执行权限,然后运行脚本。

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 告诉系统说,就在当前目录找。

2. 作为解释器参数

脚本不需要在第一行标明解释器信息,而是直接运行解释器,其参数就是脚本名。

/bin/sh test.sh


四. 练手小脚本

#!/bin/bash
#author:ednah
#date:2017/11/14
# 以"#"开头的行就是注释,会被解释器忽略。
echo "hello!"
echo "当前所在路径:"
pwd
echo "路径下有下列文件:"
ls -lh
echo "当前操作系统为:"
uname
echo "当前日期:"
date
echo "当前这个月的日历为:"
cal
# 向shell脚本内传递参数
echo "Shell pass parameter instance:"
# $0 为执行的文件名
echo "the name of the file which is carried out is :$0"
# 脚本内获取参数的格式为:$n。
echo "First parameter is $1"
echo "The second parameter is $2"
# $#传递到脚本的参数个数
echo "the number of the parameter is $#"
echo "the parameters are $*"
# 循环
echo "输入 1 到 4 之间的数字:"
echo "你输入的数字为:"
# 读入一个值
read aNum
case $aNum in
1)  echo "你选择了 1"
;;
2)  echo "你选择了 2"
;;
3)  echo "你选择了 3"
;;
4)  echo "你选择了 4"
;;
# 如果无一匹配模式,使用星号 * 捕获该值,再执行后面的命令。
*)  echo "你没有输入 1 到 4 之间的数字"
;;
esac
echo "------------------Function demo---------------"
demoFun(){
echo "This function will add the two numbers"
echo "Enter the first number: "
read aNum
echo "Enter the second number: "
read bNum
echo "The two numbers are $aNum and $bNum"
return $(($aNum+$bNum))
}
demoFun
echo "The sum of the two numbers is $? !"


五. 注意

本文中的程序片段,如果以 #!/bin/bash开头,则是脚本内部编写的代码,否则就是在命令行里面输入的命令。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: