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