变量引用 #转义:\ 1.当一个字符被引用时,其特殊含义被禁止,把有意义的变的没意义,把没意义的变的有意义 转义案例: [root@linux-server script]# echo you now $1250 you now 250 [root@linux-server script]# echo you now \$1250 you now $1250

完全引用:'' #强引 硬引 #指的是被引号包围起来的变量名不会进行不会进行解析,原样变量名原样输出,这种方式比较适合定义显示纯字符串的情况,不希望解析变量、命令等的场景。 部分引用:"" #弱引 软引 #指的是被引号包围起来的变量名会先进行解析,然后将变量的解析结果输出来。这种方式适合字符串中附带有变量和命令并且想将其解析后再输出的变量定义。

例子: [root@linux-server script]# num=1 [root@linux-server script]# echo 1901班有SHELL变量引用_linuxnum个女生" 1901班有1个女生 [root@linux-server script]# echo '1901班有SHELL变量引用_变量名_02num个女生 ====================================================== #读取用户标准输入:read read:功能就是读取键盘输入的值,并赋给变量 #read -t 5 var #read -p "提示信息" var read后面的变量var可以只有一个,也可以有多个,这时如果输入多个数据,则第一个数据给第一个变量,第二个数据给第二 个变量,如果输入数据个数过多,则最后所有的值都给最后一个变量

#!/usr/bin/bash read -p "请输入你的用户名和密码还有你的年龄: " name pass age echo "你的名字是 $name" echo "你的密码是 $pass" echo "你的年龄是 $age"

案例1: [root@linux-server script]# vim readsed.txtsh #!/bin/bash

read test

read -p "请输入你的银行卡帐号" num read -p "请在五秒内输入密码" -t 5 pass echo "你的密码错误!" [root@linux-server script]# ./readsed.txtsh

案例2: #-s 选项 能够使read命令中输入的数据不显示在监视器上 [root@linux-server script]# vim readtest3.sh #!/bin/bash read -s -p "Enter your password: " pass echo "your password is $pass" exit 1 [root@linux-server script]# chmod +x readtest3.sh [root@linux-server script]# ./readtest3.sh ======================================================== 取消屏幕回显 [root@linux-server script]# stty -echo #回车测试 [root@linux-server script]# stty echo #恢复回显

显示变量长度 [root@linux-server script]# a=123 [root@linux-server script]# echo SHELL变量引用_变量名_03var的长度 3

练习:
[root@linux-server script]# cat d.sh
echo 1.配置yum客户端
echo 2.添加A记录
echo 3.一键安装lamp环境
echo 4.一键配置静态IP
read -p "请选择你想使用的功能(1/2/3/4):" num
con_ip(){
echo 这是配置IP地址的小工具
}
case $num in
        1):
        ;;
        2):;;
        3):
        ;;
        4)con_ip
        ;;
        *)
        echo "你输入的不正确!请按提示输入"
        ;;
esac
[root@linux-server script]# chmod +x d.sh 
[root@linux-server script]# ./d.sh
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: shell