1,变量的声明,如:
A=250 //声明变量A的同时便也给A定义赋值为250
同样也可以定义声明赋值为字符串,如
name=wanggang
变量的引用:通过$来应用所声明的变量
【注意】等号两边变量名和值不能有空格,否则会出错
例子1:建立second.sh内容如下
#!/bin/bash
#Author wg 2020
A=250
echo "print variable equal $A"
name=wanggang
echo "name is $name"
./second.sh输出结果:
SHELL常见的系统变量解析 :
0 当前程序的名称 n 当前程序的第 n 个参数 ,n=1,2, , 9
* 当前程序的所有参数 ( 不包括程序本身 ) # 当前程序的参数个数 ( 不包括程序本身 )
? 命令或程序执行完后的状态,一般返回 0 表示执行成功。 UID 当前用户的 ID
$PWD 当前所在的目录
例子2:测试打印输出以上系统变量结果
建立third.shwj,内容如下
#!/bin/bash
#author wg 2020
#auto print variable
echo -e '\033[32m-----------------------------\033[0m'
echo "This is $0 param !"
echo "This \$1 is $1 param !"
echo "This \$2 is $2 param !"
echo -e '\033[32m-----------------------------\033[0m'
echo "This \$* is $* param !"
echo "This \$# is $# param !"
echo "This \$? is $? param !"
echo "This \$UID is $UID"
echo "This \$PWD is $PWD"
echo
./third.sh输出结果
如图,运行./third.sh 2 3携带两个参数,参数为2 3,则打印的第1 2个参数为2 3,所以参数也是2 3 ,所以参数个数是2
例子3:用echo打印一个可选择的菜单
建立menu.sh,内容如下
#!/bin/bash
#auto install httpd
#by wg 2020-02
echo -e "\033[36mPlease Select Install Menu:\033[0m"
echo
echo "1) 官方下载 Httpd 文件包 ."
echo "2) 解压 apache源码包."
echo "3) 编译安装 Httpd 服务器 ."
echo "4) 启动 HTTPD服务器 ."
echo -e "\033[32m-----------------------------\033[0m"
sleep 10
运行sh menu.sh,结果如下
echo -e "\033[32m-----------------------------\033[0m"的作用是,将改行语句以高亮的方式输出。即换个显眼的颜色