终端打印
echo
1.默认情况下,echo每次调用后会添加一个换行符(-n 忽略结尾换行符)
2.echo + 文本 即可显示出输出结果,可以使用单引号或者双引号
echo He is a joker =同 echo “He is a joker”=同 echo ‘He is a joker’
3.如果需要输出!,则不要使用双引号。使用双引号,则需要在之前加上转义字符(\)。
echo He is a joker ! =同 echo “He is a joker \!”=同 echo ‘He is a joker !’
4.echo 不使用引号时,无法在显示的文本中使用分号(;)。
echo hi ;hi ,echo hi 会被当作一个命令,hi为另一个命令
5.变量替换在单引号中无效
print
默认情况下,print不像echo会自动添加换行符,因此需要时应手动添加(\n)
例
print “%-3s %-10s %-4s\n” No Name Money
print “%-3s %-10s %-4.2f\n” 1 Jone 6.663
结果
No Name Money
1 Jone 6.66
%s、%c、%d、%f都是格式替换符。%-3s表明一个格式为左对齐宽度为3的字符串替换(-左对齐),默认右对齐
宽度指定了保留给变量的字符数,不足空格填充,不可超越指定宽度
%-4.2f\n中,.2指定保留2个小数位,\n为换行符
技巧1 echo中转义换行符
echo -e “含有转义的字符串” ----> echo -e “1\t2\t\3” ------> 1 2 3
技巧2 彩色输出字符
echo -e “\e[1;30m I am a black man \e[0m” \e[1;30m将颜色设置为黑色, \e[0m重新回置
常用颜色对应编码
重置0,黑色30,红色31,绿色32,黄色33,蓝色34,洋红35,青色36,白色37
技巧3 设置彩色背景
echo -e “\e[1;44m Blue Background \e[0m”
常用颜色对应编码
重置0,黑色40,红色41,绿色42,黄色43,蓝色44,洋红45,青色46,白色47
变量与环境变量
变量赋值 var=value
打印变量 echo $变量名 or echo ${变量名}
env 查看所有与终端相关的环境变量
export设置环境变量
1.添加PATH变量export PATH=“$PATH:/home/user/bin” / PATH=“$PATH:/home/user/bin”,export PATH
(PATH变量通常在/etc/environment或/etc/profile/或~/.bashrc中)
2.使用单引号时,变量不会被扩展,会原样显示。
echo '$var' ----> print $var ,若var定义则打印变量值,如没有则无显示。
技巧1 查看指定进程的环境变量
pgrep 程序名 -----获取进程ID
cat /proc/PID/environ ------获得进程相关的环境变量
技巧2 获取字符串长度
length=${#var} ------> var=12345 ,echo ${#var} -----5
技巧3 识别当前shell
echo $SHELL 或者 echo $0
技巧4 函数添加环境变量(当且仅当旧值存在,才会增加)
prepend() { [ -d "$2" ] && eval $1=\"$2\$\{$1:+':'\$$1\}\" && export $1 ; }
定义prepend()函数,首先检查该函数第二个参数指定的目录是否存在,存在则eval将第一个参数指定的变量值设置成第二个参数的值加“:”(路径分隔),随后跟上首个参数的原始值。${parameter:+expression}是一种shell参数扩展形式,如果有parameter值且不为空,则使用expression值。