shell学习-基本命令1
history :命令历史 !! :也是命令历史 !$:上一个命令的最后一个参数
!字符: !vi 或!if :指的是命令历史中的以 vi和if开头的命令
alias:
通配符:
重定向:
> :重定向到a.txt中
>>:追加到a.txt中
<:反向重定向: mail -s "zhuti" [email protected] < a.txt :将a.txt中的内容追加到邮件内容中
2>: 将错误信息写到error.log中
2>>: 将错误信息追加到error.log中
使用:2> 和2>> : sh sss.sh > 1.log 2> 1.log (相同: sh sss.sh > 1.log 2> &1 ) : 错误信息不会覆盖正常的log,
追加: sh sss.sh >>1.log 2>> &1
管道符: 前一个命令的结果作为后一个命令的输入: cat 1.txt |cat
jobs ,fg ctrl+z:暂停 ctrl+c:停止 等:
echo: 输出信息
需要加$ 不然的话直接输出 :echo HOME 显示: HOME
命令:
1. env :输出系统信息 不输出自定义的变量 a=1
如:env |grep '^a' : grep :查找 ^a :已a开头
set 可以打印出用户自定义变量: set |grep '^a'
export a=1 :声明全局变量: 当输入 bash 后可以读取这个值 ,并且env下也可以读取到这个值
bash是指进入子shell 下,
2. 自定义变量:
不加空格,不已数字开头;
定义字符串 :最好用单引号:
这里面的$ 符号意思: 后面的为变量
3. 反引号 ·· 单引号‘’ 双引号 “”
所以单引号 定义字符串最严谨,不会转义特殊符号,但是需要转义如 $a 值 时则需要用双引号 “$a”
反引号经常用:将一个命令赋值给一个值如: b=`echo $a` ;
拼接字符串:
其中:a=1
3.取消申明的变量 :
注意:全局变量和局部变量的区别就是在子shell(bash) 中是否能使用