Bash内部变量

Bash内部变量

有些内部命令在目录列表时是看不见的,他们有Shell本身提供,常见的内部命令:echo,eval,execexport,readonly,read,shift ,wait,exit和点(.)

echo 变量名表

将变量名表指定的变量显示到标准输出

Evalargs

读入参数args ,并将他们组合成一个新的命令,然后执行

Exec命令参数

当Shell执行到exec语句时,不会去创建新的子进程,而是转去执行新的命令,当指定的命令执行完时,该进程(也就是当初的Shell)就终止了,所以Shell程序中的exec后面的语句将不再被执行

Export 变量名=value

Shell 可以用export把它的变量向下打入子Shell,从而让子进程继承父进程中的环境变量,但子Shell不能用export把他的变量向上带入父Shell

Readonly 变量名

从边准输入读字符床,传给指定变量

Shift 语句

Shift 语句按如下方式重新命名所有的位置参数变量,即 $2成为$1,$3成为$2…在程序中每使用一次shift语句,都使得所有的位置一次向左移动一个位置,并使位置参数$#减1,直到减到0为止。

ssh-copy-id  –I  pub

Vi /usr/bin/ssh-copy-id

举例:

if [ "-i" = "$1" ];then

 shift

  #check if we have 2 parameters left, if so the first is the new ID file

  if[ -n "$2" ]; then

  if expr "$1" : ".*\.pub" ; then

    ID_FILE="$1"

  else

    ID_FILE="$1.pub"

  fi

  shift        # and this shouldleave $1 as the target name

  fi

else

  if[ x$SSH_AUTH_SOCK != x ] ; then

  GET_id="$GET_ID ssh-add -L"

相关推荐