Shell变量

变量名和等号之间不能有空格。同时,变量名的命名须遵循如下规则:
首个字符必须为字母(a-z,A-Z)。
中间不能有空格,可以使用下划线(_)。
不能使用标点符号。
不能使用bash里的关键字(可用help命令查看保留关键字)。

 

vim test2.sh

tool="Shell" #定义变量
echo ${tool} #使用变量

tool="Linux" #重新定义变量
echo ${tool}

readonly tool2="spark"
echo ${tool2}

unset tool #删除变量


$ sh test2.sh
Shell
Linux
spark

 

 

特殊变量列表
变量含义
$0 当前脚本的文件名
$n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。
$# 传递给脚本或函数的参数个数。
$* 传递给脚本或函数的所有参数。
$@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到。
$? 上个命令的退出状态,或函数的返回值。可以获取上一个命令的退出状态。所谓退出状态,就是上一个命令执行后的返回结果。退出状态是一个数字,一般情况下,大部分命令执行成功会返回 0,失败返回 1。
$$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。

 

 

vim test3.sh

#!/bin/bash
echo "当前脚本的文件名: $0"
echo "第一个参数 : $1"
echo "第二个参数 : $2"
echo "参数: $@"
echo "参数: $*"
echo "参数个数 : $#"

  

$ sh test3.sh Spark Scala
当前脚本的文件名: test3.sh
第一个参数 : Spark
第二个参数 : Scala
参数: Spark Scala
参数: Spark Scala
参数个数 : 2

 

posted @ 2016-12-11 20:53  智能先行者  阅读(191)  评论(0编辑  收藏  举报