第一章:
printf用法:
--------------------------
#!/bin/bash
#filename :printf.sh
printf "%-5s %-10s -4s\n" no name mask
printf "%-5s %-10s -4s\n" 1 mary 80.98
printf "%-5s %-10s -4s\n" 2 James 90.388
printf "%-5s %-10s -4s\n" 3 Jeffs 77.4848
---------------------------------
输出的方法:
----------------------------
echo hello world!
echo 'hello world!'
echo "hello woeld\!"#转义字符\将“!”转义
printf "hello world!"
----------------------------------------
补充内容:
1、转义字符
echo, printf 中-e -n等参数的功能
默认情况下,echo会将一个换行符追加到文本的尾部。可以使用-n来忽略结尾的换行符。echo也接受双引号字符串内的转义序列作为参数。如果需要使用转义序列,采用echo -e+转义序列字符串,如:
echo -e "1\t2\t3" --->1 2 3
--------------------------------------------------
2、彩色输出
颜色码:(彩色文本)
重置=0
黑色=30
红色=31
绿色=32
黄色=33
蓝色=34
洋红=35
青色=36
白色=37
如:
echo -e "\e[1;31m This is red text \e[0m"
#\e[1;31将字体颜色设为红色,\e[0m将颜色重置
颜色码:(彩色背景)
重置=0
黑色=40
红色=41
绿色=42
黄色=43
蓝色=44
洋红=45
青色=46
白色=47
如:
echo -e "\e[1;42m Green Background \e[0m"
----------------------------------------------------
1.3 变量与环境变量
env在终端中查看所有与此终端相关的环境变量对于每个进程,在其运行的环境变量中可以使用以下命令来查看:
cat /proc/$PID/environ
其中,将PID设置成相关进程的进程ID。
如,gedit应用程序正在运行获取gedit进程ID:
pgrep gedit ---->1234(一个整数)
cat /proc/1234/environ
----> .......................(环境变量)
格式化的输出:
cat /proc/1234/environ | tr '\0' '\n'
tr 替换‘\0’为‘\n’
------------------------------------------------------
1.3.2实战演练
赋值方式:var=value 如果value不包含任何空白字符(空格等),则不需要用引号饮用,反之必须。。
注:
var=value(赋值操作)
var = value (相等操作)
var='value'
echo $var
or echo ${var}
----------------------------------------------------
例:
#!/bin/bash
#filename:variables.sh
fruit=apple
count=5
echo "We have $count ${fruit}(s)"
环境变量是未在当前进程定义,而从父进程继承而来的变量。例如:
HTTP_PROXY=http://192.168.0.2:3128
export HTTP_PROXY
export用来设置环境变量。至此以后,当前shell脚本执行的任何程序都会继承这个变量。
可根据自己需要导出特定的变量,默认情况下,很多标准变量可供shell使用。
PATH为其中之一
echo $PATH
---->..........()
-----------------------------------------------------
PATH中若要增加一条路径:
export PATH="$PATH:/home/zko/bin"
也可以使用:
PATH="$PATH:/home/zko/bin"
export PATH
一般标准变量:HOME,PWD,USER,UID,SHELL
------------------------------------------------------
1.3.3补充内容
1、获取字符串的长度:
length=${#var}
如:
var=12345678909876543210
echo ${#var} --->20
-------------------------------------------------
2、识别当前的shell:
echo $SHELL ---->/bin/