shell bash-shell

时间:2023-03-09 15:21:34
shell  bash-shell

bash shell中的命令替换,`cmd`或者$(cmd)。

bash shell中的变量赋值,直接name = var;  (bash中的变量赋值不能中间有空格

变量引用时,$name,如果name比较复杂,也可以是${name}

取消变量的设置,unset,unset name

bash中的for循环方式:

1) for i in 1 2 3 4 5

  do

    echo "$i----->$(uptime)"

  done

  也可以写为

    for i in $(seq 1 10)

    for i in {1..10}

     num="1 2 3 4"

    for i in $num

2) for i in `ls ./*.tar.gz`  

  do

    tar -zxvf $i >/dev/null

  done

  该方法也可以拿到当前路径下文件名并放在一个列表中

    for i in `ls -1`

3)sum=0

 for (i=0; i<100; i++)

  do

    sum=$(expr $i \* 3+1)

    echo sum

  done

bash中$#表示命令行输入的cmd参数的个数,$?表示上一个cmd的返回值。

  exit_status=0

  eval ${VCSBIN_DIR}/hvp_exe $cmd ${logout}

  exit_status=$?

bash中写一个子标签,

  usage()

  {

    echo "Usages: hvp command"

    echo "To see commands, 'hvp help' "

  }

bash中的case 。。。esac

  case `uname` in

    SunOS*)

      ;;

    Linux*)

      ;;

  esac

其中的两个双引号,表示其他语言中的break.

bash中的if-else-fi

  if [];  then

  elif [];  then

  fi

其中的判断句,-f 存在某个文件;

       -x 存在某个可执行文件;

  x"${vcs_home}" = x ;判断变量${vcs_home}是否被定义过。前边加x,否则直接应用比较出错。

  if [ x"${vcs_home}"  = x ];  then

  fi

  -a,条件与,  -o,条件或, !条件非

exit(0) 正常运行程序并退出程序。

exit(1) 非正常运行程序导致退出程序。