1. echo 打印
echo Welcom to Bash
echo "Welcom to Bash"
echo 'Welcom to Bash'
结果都一样,终端输出 Welcom to Bash
--第一种方式不能输出 分号 ( ; )因为分号是命令定界符。
--双引号内部可以使用 变量替换,也支持 转义字符,比如 ! 必须写成 \! ( 加\ ) 这种字符。
--变量替换在单引号中无效
默认情况,echo 会将换行符 追加到 输出文本的末尾,可以使用 -n 来忽略结尾的换行符。
echo -n Hello
2.变量
变量不需要声明 , 只需要直接赋值就可以了。
var=value
var是变量名,value是变量值 ,如果value中不包含任何空白字符(例如空格),那么就不需要使用引号进行引用 ,否则必须使用单引号或者双引号 。
注意 var = value 不同于var=value,前者是相等操作,后者才是赋值操作,赋值等号两边是不能留空格的。
在变量名前添加$前缀就可以打印出变量内容;
var="value"
echo $var
或者
echo ${var}
输出如下
value
#!/bin/bash
fruit=apple
count=5
echo "We have $count ${fruit}s"
输出如下
We have 5 apples
3,环境变量
环境变量是未在当前进程中定义,而从父进程中集成而来的变量。
export 命令用来设置环境变量 ,至此以后,从当前shell中执行的任何应用程序都会集成该变量。
在默认情况下,有很多标准环境变量可供shell使用。
PATH 就是其中之一
echo $PATH
/home/slynux/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
可以查看PATH 内容
再给出要执行的命令后,shell会自动在PATH环境变量所包含的路径(各目录间以冒号分割)中查找对应的可执行文件
PATH 通常定义在 /etc/enviroment 或 /etc/profile 或 ~/.bashrc 中
如果想再 PATH中添加一个路径可以
export PATH="$PATH:/home/user/bin"
有一些众所周知的环境变量 HOME , PWD , USER , UID ,SHELL 等。
echo $var
echo "$var"
会打印出var 的内容,如果变量未定义,则什么都不打印。
echo '$var' 不会扩展变量,打印结果就是 $var 。
补充:
(1)
可以获得变量中变量值的长度
lenth=${#var}
例如:
var=123456789
echo ${#var}
结果为 9
(2)
判断当前是否为超级用户
UID是一个重要的环境变量,可用于检查当前运行脚本的用户是否为超级用户,例如
if [ $UID -ne 0 ];then
echo not root user
else
echo root user
fi