Linux 管理员 - 变量

Bash 中的变量使用方式与其他脚本语言类似。语法可能因 Perl、Python 和 Ruby 等语言而异。

我们首先要注意的是,BASH 变量有两种基本类型:全局变量或环境变量以及脚本变量或局部变量。

全局变量或环境变量 在所有 shell 和脚本中设置。可以使用 envprintenv 命令显示环境变量 −

bash-3.2# printenv
SHELL=/bin/bash
TERM=xterm-256color
USER=root
SUDO_USER="rick cardon"
SUDO_UID=501
USERNAME=root
MAIL=/var/mail/root
PATH=/usr/local/pear/bin:/Library/Frameworks/Python.framework/Versions/3.5/bin:
/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/
PWD=/home/rdc/Desktop
LANG=en_US.UTF-8

常见语法是环境变量使用大写,局部变量使用小写脚本。这些是脚本中使用的变量,假设脚本不会设置或更改 shell 环境变量。

脚本或局部变量只能由当前 shell 访问。

#!/bin/bash
num = 0
while [ $num -lt 100 ]
   do 
   num = $[$num+1] 
   echo $num 
   
   if [ $((num % 10)) = 0 ]; 
      then 
      sleep 5s 
   fi 
done

echo $PATH

上面的小脚本只是简单地递增到 20,每 5 次迭代暂停 5 秒,然后回显一个环境变量:当前用户的路径 −

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
/usr/local/pear/bin:/Library/Frameworks/Python.framework/Versions/3.5/bin:/opt/
local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

如果您希望变量可以在 shell 之外看到,则必须使用以下导出命令。

#!/bin/bash
export MY_NEW_GLOBAL = "I am Global"

linux_admin_shell_scripting.html