bash

字符串长度

string="abcd"
echo ${#string}

子串

echo ${string:1:2}

$? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。 $0 当前脚本,$n 之后的参数,${10}... n>是两位数要用${n}表示 $# 传递到脚本的参数个数
$* 以一个单字符串显示所有向脚本传递的参数

$@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。 $$ 脚本运行的当前进程ID号 $! 后台运行的最后一个进程的ID号 $- 显示Shell使用的当前选项,与set命令功能相同。 $_ 当前命令或脚本最后一个参数

rename *.jpg *.JPG *jpg

result=${test:-xx} 如果test没值就用xx,注不用:号也可以

result1=${test1:? “没定义”} 没定义test1 显示?后面值

find ${path=/tmp} –name “*.tar.gz” –type –f |xargs rm –f

expr 可正则匹配

expr ‘test.pub’ : “*.pub”

bc 支持小数的$(()),let ,$[] echo "obase=2;8"|bc 十进制转2进制 条件测试 test xx 或 [ ] 这两种方式一样 [[ ]]增强[],可用正则 && || < >等,在[]中用要转义, [ -a 与 -o 或] 等价 [[ and || ]] ,符号与变量加空格 [ 2 <1 ] && echo 1 ||echo 0 注意:字符串测试要加"" -z "$a" -n "$a" "$a"="$b" "$a"!="$b" 调试技巧 dos2unix sh -xnv xx.sh trap cmd signal 可用自己的cmd 禁用原来的处理 常要禁用 1 2 3 15 20 trap/kill -l 列出全部signal trap "" 2 禁用ctrl+c trap ":" 2 恢复ctrl+c stty -a #中断信号与键盘的关系 &> file redirects stdout and stderr to file &> === >&
原文地址:https://www.cnblogs.com/anjuncc/p/5370183.html