$# // 表示传递给脚本的参数个数
$* // 以单个字符串的形式返回所有传递给脚本的参数
$@ // 以单个字符串的形式返回所有传递给脚本的参数,但每个参数都是独立的

$? // 表示上一个命令的退出状态。当命令成功执行时,$?的值通常为0;当命令执行失败时,$?的值通常为非零值,表示出错的原因
shift // 命令用于将参数列表向左移动,使得$2变为$1$3变为$2,依此类推,同时$#也会减少
${1#*=} // 从传递给脚本或函数的第一个参数中提取等号 (=) 后面的值

# Example

while [ $# -gt 0 ]; do
  case "$1" in
    --pattern=*)
      pattern="${1#*=}"
      ;;
    *)
      printf "***************************\n"
      printf "* Error: Invalid argument.*\n"
      printf "***************************\n"
      exit 1
  esac
  shift
done
最后更新时间: 6/11/2024, 12:21:23 PM