创建shell脚本

  1. 脚本头添加: #!/bin/bash
  2. 书写shell脚本内容
  3. 给予执行权限.

变量

变量申明:kmj=kemengjian

环境变量调用方式 $kmj,${kmj}

命令替换

将命令输出替换为变量

两种方式: `date`,$(date)

例: echo `date`,echo $(date)

在命令行提示符下

重定向输入输出

输出重定向

命令结果重定向到文件:

输入重定向

将文件的内容重定向到命令: 从文件中读取数据,sort < rpm.list

内联输入重定向.

BASH
wc << EOF
> test string 1
> test string 2
> test string 3
> EOF
点击展开查看更多

管道

将一个命令的输出作为另一个命令的输入.rpm -qa | sort | more(centos发行版).

执行数学运算

expr命令

expr 20 \* 5 使用起来比较麻烦需要转义.只能进行整数运算,不能进行浮点运算. 也能简单的处理字符串 echo $(expr substr kmj123456 3 6)

使用方括号

$[$var1 * ($var2 - $var3)] 不用转义,而且也只能进行整数运算

浮点解决方案

bash shell内建的浮点计算器bc 例子:

BASH
#!/bin/bash
var1=21;var2=34;var3=213;
echo $var1*$var2/$var3
echo $(echo "scale=4;$var1*$var2/$var3" | bc)

echo "内联式输入重定向" $(bc << EOF
scale=5
42.1*12.5/3.14
EOF
)
点击展开查看更多

退出脚本

查看退出状态码

shell中运行的每个命令都使用退出状态码(exit status)告诉shell它已经运行完毕.退出状态码是一个0~255的整数值(如果执行成功,则返回0;否则返回其他值),在命令结束运行时由命令传给shell.可以捕获这个值并在脚本中使用.

$? 保存上个已执行命令的退出状态码. date;echo $?

exit命令

默认情况下,shell脚本会以脚本中的最后一个命令的退出状态码退出. exit 命令允许你在脚本结束时指定一个退出状态码.

BASH
#!/bin/bash
# testing the exit status
var1=10
var2=30
var3=$[$var1 * $var2]
echo The value is $var3
exit $var3
点击展开查看更多

执行脚本后,可以使用 echo $? 来查看退出状态码.

开始搜索

输入关键词搜索文章内容

↑↓
ESC
⌘K 快捷键