你可以像在任何编程语言中一样使用变量。Bash 中没有数据类型。变量可以包含数字、字符或字符串。
你无需声明变量,只需给变量赋值就会创建它。
#!/bin/bash
STR="Hello World!"
echo $STR
第 2 行创建了一个名为 STR 的变量,并将字符串 "Hello World!" 赋值给它。然后,通过在变量名前加 '$' 符号来获取变量的值。请注意(试试看!),如果不使用 '$' 符号,程序的输出会不同,可能不是你想要的结果。
#!/bin/bash
OF=/var/my-backup-$(date +%Y%m%d).tgz
tar -cZf $OF /home/me/
这个脚本介绍了另一件事。首先,你应该熟悉第 2 行的变量创建和赋值。注意表达式 '$(date +%Y%m%d)'。如果你运行脚本,你会注意到它会执行括号内的命令,并捕获其输出。
注意,在这个脚本中,输出文件名每天都会不同,这是由于 date 命令的格式开关 (+%Y%m%d) 所致。你可以通过指定不同的格式来更改它。
更多示例
echo ls
echo $(ls)
局部变量可以使用关键字 local 创建。
#!/bin/bash
HELLO=Hello
function hello {
local HELLO=World
echo $HELLO
}
echo $HELLO
hello
echo $HELLO
这个示例应该足以展示如何使用局部变量。