连接多条命令
使用分号“;”分隔不同命令 比如who;date
这种方式还是在提示符下手动输入命令,创建脚本文件才是更好的方法
脚本文件
第一行: #!/bin/bash 或者....
Shell使用PATH环境变量查找命令。如有需要,可以暂时更改PATH,比如把当前目录添加进去。
echo :显示文本 通常用于提示信息
echo命令的帮助信息,通过man echo可以得到。echo接带引号的文本和直接接文本,使用options,响应是不一样的(转义)
$:美元符号 用于引进变量。如果需要显示$符号本身,可前缀反斜杠\。
$var 和 ${var} 都可以引用变量
变量、等号和变量值之间不允许有空格!!!
反引号 ``
在shell中常用,但是在其他语言中很少用到
反引号允许将shell命令的输出赋值给变量;比如testing=`date`,testing赋值为date命令的输出
重定向
输出
> :如果文件存在,就重写
>>:如果文件存在,附加而不是重写
输入
<:文件
<<:内置输入重定向,形式如下:
command <<marker
data1
data2 ....
marker
data1、data2、...作为输入
管道
|:管道两边的命令是同时执行的 左边命令的输出立即作为右边命令的输入
命令中可以使用多个管道符|
数学计算
expr命令
字符串或者整数操作 (PS:然而貌似整数操作无效)
expr命令在Ubuntu14下不能合理执行 expr 10+2!!!!
使用[]
var1=$[1+5]
可以计算数学表达式
bc 可计算浮点数
退出状态
代码 | 描述 | 代码 | 描述 |
0 | 成功 | 128 | 无效的退出参数 |
1 | 未知错误 | 130 | ctrl C终止的命令 |
126 | 无法执行 | 127 | 未找到命令 |
exit可以在脚本中指定退出状态码 比如 exit 5
挂起==Suspend To RAM(STR)
休眠==Suspend To Disk(STD)