📜  bash 变量名来运行 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:59:28.915000             🧑  作者: Mango

Bash 变量名来运行 - Shell-Bash

在 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 编程有所帮助。