Skip to content

shell

linux标准fd

0: 标准输入(stdin),1: 标准输出(stdout),2: 标准错误(stderr)。shell命令后的2>/dev/null是将标准错误丢弃掉,不输出。

$传递参数

  1. $? : 显示最后命令的退出状态
  2. $#: 参数个数
  3. $*:获取参数,加""以“1 2 3”形式获取一个参数
  4. $@: 获取参数,加""以"1" "2" "3"形式获取多个参数
  5. $!: 后台运行的最后一个进程的ID号
  6. $$: 脚本运行的当前进程ID号

typeset命令

  1. -u 将第一个变量的字符变成大写
  2. -l 将第一个变量的字符变成小写
  3. -Ln 把变量变成一个左对齐的n个字符串(过长阶段)
  4. -Rn 把变量变成一个右对齐的n个字符串(过长截断)

eval

二次扫描运行

\((())与\)()与${}

  1. $()与``等价,都是用来命令替换的
  2. $()用于变量替换,#去掉左边,%去掉右边,单个#/%是最小匹配,##/%%是最大匹配
  3. ${#var}计算变量的长度
  4. $(())用于整数运算,(())可重定义变量值