在建立shell脚本文件时,必须在文件的第一行指定要使用的shell。其格式为:
#!/bin/bashshell
1,输出文本:
但若是想把文本字符串和命令输出显示在同一行中,该怎么办呢?能够用echo语句的-n参数。express
echo -n "The time and date are: "bash
输出文本含有变量:
echo -n "The home dirctory is : $HOME"ide
通常而言,系统变量大写,用户自定义变量小写。命令行
2.输入文本字符串
命名替换:
反引号,$()格式数学
输入重定向:<it
内联输入重定向符号是远小于号(<<)。除了这个符号,你必须指定一个文本标记来划分输入数据的开始和结尾。任何字符串均可做为文本标记,但在数据的开始和结尾文本标记必须一致。
command << marker
data
markerio
数学运行的两种方式:
expr ; $[ ] --仅仅支持整数class
expr 3 + 2
$[ 3 + 2 ]
一样,注意在使用方括号来计算公式时,不用担忧shell会误解乘号或其余符号。shell知道它不是通配符,由于它在方括号内。
bc --支持浮点运算
能够用命令替换运行bc命令,并将输出赋给一个变量。基本格式以下:
variable=$(echo "options; expression" | bc)
最好的办法是使用内联输入重定向,它容许你直接在命令行中重定向数据。在shell脚本中,你能够将输出赋给一个变量。
variable=$(bc << EOF
options
statements
expressions
EOF
)
shell中运行的每一个命令都使用退出状态码(exit status)告诉shell它已经运行完毕。退出状态码是一个0~255的整数值,在命令结束运行时由命令传给shell。能够捕获这个值并在脚本中使用。
Linux提供了一个专门的变量$?来保存上个已执行命令的退出状态码。
Linux退出状态码
0 命令成功结束
1 通常性未知错误
2 不适合的shell命令
126 命令不可执行
127 没找到命令
128 无效的退出参数
128+x 与Linux信号x相关的严重错误
130 经过Ctrl+C终止的命令
255 正常范围以外的退出状态码
exit命令容许你在脚本结束时指定一个退出状态码。
--首行指定shell类型,中间写脚本,尾行指定一个退出码。一种规范的写法。