1.使用$()可以把某个命令的运行结果用作变量,支持嵌套。
dirname命令可获取某个文件所在的绝对路径。
例:
#!/bin/bash
#查找test.sh,并获取test.sh的绝对路径
dirname $(find / -name test.sh)
#删除test.sh所在的目录
rm -rf $(dirname $(find / -name test.sh))
2.还有另一种方式是使用反引号`命令`,把某个命令用作变量。
例:
#!/bin/bash
#查找test.sh
File=`find / -name test.sh`
#运行test.sh
bash $File
3.使用${}可以替换变量。
例:
#!/bin/bash
#设置颜色
#黑色
Black="\033[30m"
#红色
Red="\033[31m"
#绿色
Green="\033[32m"
#黄色
Yellow="\033[33m"
#蓝色
Blue="\033[34m"
#紫色
Purple="\033[35m"
#深绿色
DarkGreen="\033[36m"
#白色
White="\033[37m"
#结束
End="\033[0m"
#用${}来使用颜色代码,让字符串显示相应的颜色
read -p $(echo -e "${Green}请输入密码:${End}") Passwd
echo -e "${Green}你的密码是:${End}""${Red}"$Passwd"${End}"
4.扩展用法,使用函数。
例:
#!/bin/bash
#设置颜色
Color() {
if [ "$1" == "Green?" ];then
read -r -p $(echo -e "\033[32m$2\033[0m") Passwd
elif [ "$1" == "Green" ];then
echo -e "\033[32m$2\033[0m"
elif [ "$1" == "Red" ];then
echo -e "\033[31m$2\033[0m"
fi
}
Color Green? "请输入密码:"
Color Green "你的密码是:$(Color Red "$Passwd")"