shell常用语句

一、常见符号

$0    当前脚本的文件名
$n    传递给脚本的参数n,比如$1表示第一个参数
$#    传递给脚本或函数的参数个数。
$*,$@ 传递给脚本或函数的所有参数
$?    上个命令的退出状态,或函数的返回值。
$$    当前Shell脚本所在的进程ID

示例:

#!/bin/bash

for var in $*
do
   echo "$var"           #for循环打印所有参数
done

二、命令分隔符分号";"

  • 作用:可以在同一行上写两个或两个以上的命令

示例:

if [ "$filename" == "$1" ]; then     #执行两条命令
echo "File $filename exists.";fi

三、双分号";;"

  • 作用:用在case语句,类似于C里面的case,用来承担break作用

shell的case语法如下所示:

case "变量" in
  "变量1")
      ...
  ;;          #这里的双分号类似于break

  "变量2")
      ...
  ;; 

  *)          #匹配剩下的变量n
     ...
  ;; 
esac        #case结束语句

示例:

#!/bin/base

variable=xyz

case "$variable" in
abc) echo "\$variable = abc" ;;
xyz) echo "\$variable = xyz" ;; 
esac

打印:

$variable = xyz

四、单引号'和双引号"

  • 单引号: 将会阻止所有特殊字符的解释,被单引号括住的内容都是普通字符串
  • 双引号: 引号包围起来的字符串,部分特殊字符将起到它们的作用

示例:

#!/bin/bash

a="this is a"
b="this is b"

echo '${a}'
echo "${b}"

打印:

${a}
this is b

五、反引号`和$()

  • 作用:都是用来实现命令替换的,可以通过这个将命令的输出赋值到一个变量中去

示例:

echo $(date "+ %Y/%m/%d %H:%M:%S")     #运行date命令
echo `date "+ %Y/%m/%d %H:%M:%S"`      #运行date命令
c=$(echo hello)                        #打印: c=hello

猜你喜欢

转载自www.cnblogs.com/princepeng/p/11578652.html
今日推荐