终端打印
终端是交互式工具,用户可以通过它与shell环境进行交互。在终端中打印文本是大多数shell脚本和工具日常需要执行的基本任务。通过终端打印,人们可以知道系统的运行状态,这对用户来说是至关重要的。
echo终端打印
复制代码 代码如下:
echo "Welcome to Bash"
echo 'Welcome to Bash'
echo Welcome to Bash
以上三种方法的效果是一样的,输出内容都是“Welcome to Bash”,并在末尾添加换行符。在默认情况下,echo在每次调用后会添加一个换行符,而无需手动输入换行符。此处,建议养成一种习惯,对于其他的方法了解即可。
使用双引号时的限制
使用双引号输出字符串时,字符串内不能含有特殊字符(!),或者要在特殊字符前加转义字符\。使用单引号或者不使用引号,也可以正常输出特殊字符。
复制代码 代码如下:
echo "cannot include !" #这种情况下将会报错
echo "cannot include \!" #这种情况下可以正常输出!
echo cannot include ! #这种情况下可以正常输出!
echo 'cannot include !' #这种情况下可以正常输出!
使用单引号的限制
在使用单引号输出字符串时,变量替换将会失效。使用双引号或者不使用引号可以正常输出被替换的变量。
复制代码 代码如下:
var="abcd"
echo '1234$var' #这种情况下将输出 1234$var
echo 1234$var #这种情况下将输出 1234abcd
echo "1234$var" #这种情况下将输出 1234abcd
不使用引号时的限制
在不使用引号输出字符串的情况下,无法显示分号(;),因为分号在Bash中被用作命令定界符。使用单引号或者双引号可以输出分号。
复制代码 代码如下:
echo hello;hello #第一个hello被当成字符串输出,第二个被当成命令
printf终端打印
printf使用的参数和C语言中的printf函数一样,使用引用文本或由空格分隔的参数。在printf函数中,我们可以使用格式化字符串,指定字符串的宽度、左右对齐方式等。在默认情况下,printf不会在行尾添加换行符,需要手动添加。
复制代码 代码如下:
printf "Hello world" #使用引用字符
printf "%-5s %-10s %-4s\n" No Name Mark #指定宽度及左对齐方式
printf "%-5s %-10s %-4s\n" 1 Sarath 80.3456
工作原理
%s,%c,%d,%f都是格式替换字符,其所对应的参数可以置于带引号的格式字符串之后。
%-5s指明了一个格式为左对齐且宽度为5的字符串替换,-表示左对齐,若不指定对齐方式,则默认采用右对齐方式。宽度指定了保留给某个变量的字符数,如果要输出的内容宽度不足,则用空格填充,若多于指定宽度,则超出部分被丢弃。
%4.2f表示指定小数可以保留两个小数位,要注意的是4并不代表整数部分的位数,也不代表整数位和小数位的和。
注意:使用echo和printf的命令选项时,要保证选项出现在命令行内所有字符串之前,否者Bash会将选项视为另一个字符串。
补充内容
在echo中使用转义字符
在默认情况下,echo会自动在输出字符串末尾添加换行符,可以使用-n选项来忽略结尾的换行符。echo同样接受双引号字符串内的转义序列作为参数。如果需要使用转义序列,则采用echo -e “包含转义序列的字符串”这种形式,在ubuntu14.04中,不需要添加-e选项,若添加,则-e选项会被作为字符串的一部分输出。
复制代码 代码如下:
echo "Hello World" #将在末尾添加换行符
echo -n "Hello Wordl" #末尾不会添加换行符
echo -e "1\t2\t3" #将输出 -e 1 2 3
echo "1\t2\t3" #将输出1 2 3
打印彩色输出
在终端中生成颜色输出,有助于我们从大量文本中快速定位特定的信息,我们可以使用转义序列来实现颜色输出。
每种文本颜色都有对应的颜色码。
复制代码 代码如下:
echo -e "\e[1;31m This is red text \e[0m"
echo -e "\e[1;41m This is red background \e[0m"
#ubuntu14.04不支持这种方式改变文本或者背景颜色
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]