1.shell基本元素
eg: ls; cd /
分号(;)可用来分隔同一行里的多条命令, shell 会依次执行这些命令。
2.变量
eg:myvar=aa; echo $myvar
先写变量名称, 紧接着=字符,最后是新值,中间完全没有任何空格,取出shell变量
$0 脚本名称
$# 参数个数
$* 参数内容
$?上一个命令是否运行成功
3.简单的输出
echo $var; echo aaa;
printf "The first program always prints '%s, %s! '\n'" Hello world; printf “aaa”;
4.重定向与管道
以< 改变标准输入
program < file 可将program的标准输入修改为file
tr -d '\r' < dos-file.txt
以 > 改变标准输出
program > file 可将program的标准输出修改为file
tr -d '\r' < dos-file.txt < UNIX-file.txt
以>> 附加到文件
program >> file 可将program的标准输出附加到file的结尾处。
以 | 建立管道
program1 | program2 可将program1的标准输出修改为program2的标准输入
tr - d '\r' < dos-file.txt | sort > UNIX-file.txt
tr: 转换字符
可以把 < 与 > 想像成数据的漏斗(funnels) --- 数据会从大的一端进入,由小的一端出来
5.运算 $(($a+$b))