shell

1. cat >> file << EOF
https://www.cnblogs.com/chenjingchao/p/6259572.html
1. 创建file文件
2. 创建完成后,写入后面的内容
3. EOF结束
2. linux中的标准输入输出
输入:standin
    1. 从键盘中读取信息
STDOUT与STDERR都会默认显示在终端
输出:standout,standerror
    1. 输出的结果到终端 

1==>表示standout
2==>表示standerror
3. 2>&1
http://blog.youkuaiyun.com/ggxiaobai/article/details/53507530
command>a 2>&1<==>command 1>a 2>&1
command 1>a 2>&1<=/=>command 1>a 2>a
区别:
    1. 前面的需要打开文件a一次,后面的需要打开两次
    2. 后面的,第二次的写入会覆盖前一次的写入==>stderr信息覆盖stdin的信息
&1的含义:引用的是第一次打开的文件【stdin打开的file】
4. ${install_path}/node_exporter > /var/log/node_exporter.log 2>&1 &
&1:表示的是由stdin打开的/var/log/node_exporter.log文件
2>&1:stderr信息写入&1中
& : 表示后台运行
5. $!
表示最后运行的process的PID,进程号
6. ;;
在使用case选项时,作为每个选项的终结符 
7. “
1. ``里面是命令,可以执行
2. 执行的命令可以赋值给其他
8. shell case语句
case &变量 in
xxx) # 这个东西要与 &变量 进行比较,相同就执行它下面的内容
    xxxxxxxxxxx ;;# 必须两个;;结束 
*) # *)是其他值、default的意思
    echo echo "Usage: \$0 {start|stop|status|restart}";;  
9. set -e

shell 在错误和异常处理方面也有对应的工具
利用工具在配合 set -e ,我们能更好的解决语法问题
set -e:脚本只要发生错误,就终止执行。
set -e根据返回值来判断,一个命令是否运行失败。
但是,某些命令的非零返回值可能不表示失败,或者开发者希望在命令失败的情况下,脚本继续执行下去。暂时关闭set -e,该命令执行结束后,再重新打开set -e。
set +e command1 command2 set -e
et +e表示关闭-e选项,set -e表示重新打开-e选项

10 .shell中的特殊符号

1. $#
传递给脚本或函数的参数个数
2. $0
当前脚本的文件名
3. 命令行参数 $n
$1表示第一个参数,$2 表示第二个参数.
4. $(command)
用语句给变量赋值
for file in $(ls /etc) or for file in `ls /etc`

11. shell基本运算符

1. 关系运算符
-eq: 检测两个数是否相等,相等返回 true。
2. 布尔运算符
-o: 或运算,有一个表达式为 true 则返回 true。

12. DIR=”(cd"(cd"(dirname “$BASH_{SOURCE[0]}”)” && pwd)”

${BASH_SOURCE[0]}:表示bash脚本的第一个参数,如果第一个参数是bash,表明这是要执行bash脚本,这时”${BASH_SOURCE[0]}”自动转换为第二个参数,例如:

bash modules/tools/planning_traj_plot/run.sh
${BASH_SOURCE[0]} 是modules/tools/planning_traj_plot/run.sh
dirname:表示提取参数里的目录
dirname "${BASH_SOURCE[0]}":表示提取bash脚本第一个参数里的目录
例如上例得到的是modules/tools/planning_traj_plot
cd "$( dirname "${BASH_SOURCE[0]}" )”:表示切换到刚才提取的目录
DIR=cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd :如果第一条语句顺利执行,就执行pwd显示当前目录,并将结果赋值给变量“DIR”。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值