下一步 上一步 目录

5. 变量

你可以像在任何编程语言中一样使用变量。Bash 中没有数据类型。变量可以包含数字、字符或字符串。

你无需声明变量,只需给变量赋值就会创建它。

5.1 示例:使用变量的 Hello World!

            #!/bin/bash          
            STR="Hello World!"
            echo $STR    
            

第 2 行创建了一个名为 STR 的变量,并将字符串 "Hello World!" 赋值给它。然后,通过在变量名前加 '$' 符号来获取变量的值。请注意(试试看!),如果不使用 '$' 符号,程序的输出会不同,可能不是你想要的结果。

5.2 示例:一个非常简单的备份脚本(稍微好一点)

           #!/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)

5.3 局部变量

局部变量可以使用关键字 local 创建。

                #!/bin/bash
                HELLO=Hello 
                function hello {
                        local HELLO=World
                        echo $HELLO
                }
                echo $HELLO
                hello
                echo $HELLO
        

这个示例应该足以展示如何使用局部变量。


下一步 上一步 目录