-
执行数学运算
- expr
expr 5 * 2 - 方括号 $[]
$[5 * 2]
缺点:只支持整数运算 - bc运算
variable=$(echo "scale=4; 3.44/5" | bc)
- expr
执行命令
$()-
处理参数
- $#
参数个数 - $*
所有的参数(作为一个变量) - $@
所有的参数(作为多个变量) - $0 $1 $2 $3
各个参数 - shift
移动变量#!/bin/bash while [ -n "$1" ] do case "$1" in -a) echo "Found -a option";; -b) echo "Found -b option";; *) echo "$1 is not a option" esac shift done
- getopts获取参数
- $#
-
获取输入 read
- read -p "message" key
- -t 指定超时退出
- -s 不会将用户输入显示出来,比如输入密码
-
呈现数据
- 标准文件描述符
0:stdin 标准输入
1:stdout 标准输出
2:stderr 标准错误 - 将错误重定向到日志文件
ls -al aaa 2> error.log
- 脚本中,临时将错误消息重定向
echo "this is an error message" >&2
需要在文件描述符前边加"&"
正常运行时,屏幕两条消息均输出了。这是因为正常情况下,stderr指向的和stdout是同一个地方。#!/bin/bash echo "This is an error message" >&2 echo "This is an normal message"
如果运行时将错误重定向,屏幕就只有一条输出了。
./test_error.sh 2> error.log
- 脚本中,永久重定向,使用exec
#!/bin/bash echo "This you can see" exec 2>error.log echo "This is in error.log" >&2 exec 1>info.log echo "This is in info.log"
- 阻止脚本输出,将输出重定向到null
ls -al > /dev/null
- 标准文件描述符
一 基本脚本
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 说明本次redis集群安装在rhel6.8 64位机器上,redis版本为3.2.8,redis的gem文件版本为...