显示变量的值

时间:2019-04-16 23:59:04  来源:igfitidea点击:

要显示变量的值,可以使用echo或printf命令:

Echo 命令

使用echo命令显示一行文本或一个变量值。它没有提供格式化选项。

echo $varName # 不建议使用这种方法,除非你知道变量的内容

echo "$varName" # 使用引号括起来 较安全

使用echo打印文件名

还可以使用echo命令搭配通配符来打印文件名:

cd /etc 
echo *.conf

printf命令

printf命令用于对数据进行格式化并显示。但是,printf没有提供新行。您需要使用 %指令和转义来格式化字符串。

printf "%s\n" "$varName"

printf格式指令

FORMAT用于像C语言中的printf一样控制输出:

控制符说明
\"双引号

\NNN | 八进制值为NNN的字符

\\ | 反斜杠

\a | 警报声

\b | backspace

\c | 不再输出

\f | 换页

\n | 新行

\r | 回车

\t | 水平制表符

\v | 垂直制表符

\xHH | 十六进制值为HH的字节

\uHHHH | 十六进制值为 HHHH 的Unicode字符

\UHHHHHHHH | 十六进制值为 HHHHHHHH 的Unicode字符

%% | 百分号 %

格式控制的语法是:

printf "%w.pL\n" $varName
  • w - 最小宽度。
  • p - 显示小数点后的位数(精度)。
  • L - a转换字符。它可以是:
  • s -字符串
    
  • d -整数
    
  • e -指数
    
  • f -浮点数
    

printf命令示例

vech="Car"
printf "%s\n" $vech
printf "%1s\n" $vech
printf "%1.1s\n" $vech
printf "%1.2s\n" $vech
printf "%1.3s\n" $vech
printf "%10.3s\n" $vech
printf "%10.1s\n" $vech
no=10
printf "%d\n" $no
big=5355765
printf "%e\n" $big
printf "%5.2e\n" $big
sales=54245.22
printf "%f\n" $sales
printf "%.2f\n" $sales