📅  最后修改于: 2023-12-03 14:59:28.915000             🧑  作者: Mango
在 Shell 编程中,变量是存储数据的一种方式。我们可以使用变量存储字符串、数字或任何其他类型的数据,并在脚本的不同部分引用这些变量。在 Bash 中,使用变量非常简单,只需要在变量名前加上 $ 符号即可。本文将介绍如何使用 Bash 变量名来运行 Shell-Bash。
要声明一个变量,只需给变量名赋一个值即可。变量名通常是大写字母和下划线的组合,而值可以是字符串、数字、命令、数组等任何数据类型。
var1="Hello" # 字符串变量
var2=5 # 数值变量
var3=$(date) # 命令变量,存储当前日期
var4=("apple" "banana" "orange") # 数组变量
在脚本的其他部分引用变量时,需要在变量名前加上 $ 符号。例如:
echo $var1
echo $var2
echo $var3
echo ${var4[0]}
如果要避免意外解释特殊字符(如空格、星号、问号等)并且使用纯文本变量值,请将变量名括在双引号中。
echo "$var1"
Shell 还提供了一些操作符,可以在引用变量时对变量值进行替换和截取操作。以下是一些常见的变量替换操作:
${var:-default}
:如果变量 var 未定义,则使用 default 的值。${var:=default}
:如果变量 var 未定义,则将其设置为 default 的值。${var:+value}
:如果变量 var 已定义,则使用 value 的值。${var:offset}
:从变量 var 中提取偏移量为 offset 的子字符串。${var:offset:length}
:从变量 var 中提取偏移量为 offset,长度为 length 的子字符串。例如:
echo ${var5:-"default value"} # 使用默认值
var6="custom value"
echo ${var6:-"default value"} # 使用自定义值
echo ${var7:0:4} # 提取子字符串
环境变量是全局可用的变量,可以在整个系统中的任何 Shell 中访问和修改。Bash shell 提供了一些预定义的环境变量,如 HOME、PWD、PATH 等。可以使用 env 命令或 printenv 命令查看所有环境变量。
echo $HOME
echo $PATH
env
printenv
在 Shell 脚本中,变量可以是全局变量或局部变量。全局变量定义在脚本外部或使用 export 命令定义,可以在脚本内部的所有位置和子进程中访问。局部变量只能在脚本的定义范围内访问,包括函数内。
# 全局变量
var_global="global value"
function foo () {
# 局部变量
var_local="local value"
echo "Inside function: $var_global, $var_local"
}
foo
echo "Outside function: $var_global, $var_local"
以上是 Bash 变量名来运行 - Shell-Bash 的介绍,希望对你学习 Shell 编程有所帮助。