
Linux系�».shellå·¥å ·æå°è¾åº
shellèæ¬é½æ¯ä»¥#!/bin/bashå¼å¤´ï¼è¿æ¯åºå®çåæ³ï¼å ¶ä¸/bin/bashæ¯bashå½ä»¤çè·¯å¾ãé£ä¹Linuxç³»ç»shellå·¥å ·å¦ä½æå°è¾åºå¢ï¼è·æä¸èµ·æ¥ççå§ï¼
ä¸è¬é½ä¼éè¿chmodæäºshellèæ¬ç坿§è¡æéã
å¨shellèæ¬ä¸çæå°è¾åºé叏伿echoåprintf两ç§ï¼åè ä¼èªå¨æ¢è¡ã
å¨shellä¸å¦æç¨åå¼å·("")ä½ä¸ºæå°è¾åºçå 容æ¶ï¼å¦æåå¼å·ä¸æç¹æ®å符éè¦å¨ç¹æ®å符åå ä¸è½¬ä¹å符\,å½ç¶ä¹å¯ä»¥ä½¿ç¨åå¼å·æè ä¸ä½¿ç¨å¼å·ç´æ¥è¾åºï¼ä½¿ç¨åå¼å·æè ä¸ä½¿ç¨å°±ä¸éè¦ç¨å°è½¬ä¹å符ã
æ ¼å¼æ¿ä»£ç¬¦
æä¸äºå¸¸ç¨çæ ¼å¼æ¿ä»£ç¬¦ä¼ç»å¸¸å¨æå°è¾åºä¸è¢«ç¨å°,æ ¼å¼æ¿ä»£ç¬¦åªè½ç¨å¨printfè¾åºä¸ã
%-5s:表示5个å符宽度ï¼å ¶ä¸ç-表示左对é½
%-4.2f:å ¶ä¸çf表示浮ç¹åï¼4.2代表é¿åº¦ä¸º4个å符ä¸å°æ°ç¹2ä½ï¼å¦æå°æ°ç¹è¶ è¿2ä¼è¿è¡åèäºå ¥ï¼-表示左对é½ã
æ´å½¢ï¼
%d:æ´æ°çåæ°ä¼è¢«è½¬æä¸æç¬¦å·çåè¿å¶æ°å
%u:æ´æ°çåæ°ä¼è¢«è½¬æä¸æ 符å·çåè¿å¶æ°å
%o:æ´æ°çåæ°ä¼è¢«è½¬æä¸æ 符å·çå «è¿å¶æ°å
%x:æ´æ°çåæ°ä¼è¢«è½¬æä¸æ 符å·çåå è¿å¶æ°å,并以å°åabcdef表示
%X:æ´æ°çåæ°ä¼è¢«è½¬æä¸æ 符å·çåå è¿å¶æ°å,并以大åABCDEF表示
æµ®ç¹åæ°ï¼
%fdoubleåçåæ°ä¼è¢«è½¬æåè¿å¶æ°å,é»è®¤åå°æ°ç¹ä»¥ä¸å ä½,åèäºå ¥
%edoubleåçåæ°ä»¥ææ°å½¢å¼æå°,æä¸ä¸ªæ°åä¼å¨å°æ°ç¹å,å 使°åå¨å°æ°ç¹å,è卿æ°é¨åä¼ä»¥å°åçeæ¥è¡¨ç¤º.
%Eä¸%eä½ç¨ç¸å,å¯ä¸åºå«æ¯ææ°é¨åå°ä»¥å¤§åç'Eæ¥è¡¨ç¤º.
%gdoubleåçåæ°ä¼èªå¨éæ©ä»¥%fæ%eçæ ¼å¼æ¥æå°,å ¶æ åæ¯æ ¹æ®æ¬²æå°çæ°å¼åæè®¾ç½®çææä½æ°æ¥å³å®.
%Gä¸%gä½ç¨ç¸å,å¯ä¸åºå«å¨ä»¥ææ°å½¢ææå°æ¶ä¼éæ©%Eæ ¼å¼.
å符åå符串ï¼
%c读å符串ç第ä¸ä¸ªå符
%sè¾åºæå®å®½åº¦çå符å 容.
%p妿æ¯åæ°æ¯"void*"åæéå使ç¨åå è¿å¶æ ¼å¼æ¾ç¤º
æå°è¾åº
å¨åèæ¬çæ¶åæ´å¤çä¼ä½¿ç¨echoä½ä¸ºæå°è¾åºï¼ä¸ä¹ æ¯æ§çä¼ä½¿ç¨åå¼å·ã
echo
[root@localhosttmp]#echo"helloword"
helloword
printf
é»è®¤printfæ¯ä¸æ¢è¡ç
[root@localhosttmp]#printf"helloword"
helloword[root@localhosttmp]#
éè¦æ¢è¡å ä¸\nåæ°
[root@localhosttmp]#printf"helloword\n"
helloword
[root@localhosttmp]#
ç¼åshellèæ¬
vimscrip.sh
#!/bin/bash
printf"%-5s%-10s%-4s\n"NoNameMark
printf"%-5s%-10s%-4.2f\n"1aaa10.111
printf"%-5s%-10s%-4.2f\n"2bbb20.146
æäºèæ¬æ§è¡æéï¼chmodu+xscrip.sh
å¦æä½¿ç¨echoå°±ä¸è½ç¨æ ¼å¼æ¿ä»£ç¬¦
#!/bin/bash
echoNoNameMark
echo1aaa10.111
echo2bbb20.146
注æäºé¡¹
å¨echoï¼printfä¸ä½¿ç¨-e,-nåæ°æ¶ï¼-eï¼-nåºè¯¥åºç°å¨å½ä»¤è¡å ¶å®å符ä¹åã
-e:妿è¦å¨echoçåå¼å·ä½¿ç¨è½¬ä¹åºåä½ä¸ºåæ°å¾éè¦ä½¿ç¨-eåæ°
-n:å¿½ç¥æ«å°¾çæ¢è¡ç¬¦
ä¸ä½¿ç¨-eåæ°
[root@localhosttmp]#echo"1\n2"
1\n2
使ç¨-eåæ°
[root@localhosttmp]#echo-e"1\n2"
转ä¹åºåï¼
/n:æ¢è¡
/t:tabé®
彩è²è¾åº
åä½é¢è²å æ¬ï¼0=éç½®ï¼30=é»è²ï¼31=红è²ï¼32=绿è²ï¼33=é»è²ï¼34=èè²ï¼35=æ´çº¢ï¼36=éè²ï¼37=ç½è²
èæ¯é¢è²å æ¬ï¼0=éç½®ï¼40=é»è²ï¼41=红è²ï¼42=绿è²ï¼43=é»è²ï¼44=èè²ï¼45=æ´çº¢ï¼46=éè²ï¼47=ç½è²
echo-e"\e[132mhelloword\e[0m"
\e[132m:å°åä½é¢è²è®¾ä¸ºç»¿è²ï¼\e[0m:å°é¢è²éç½®
有点儿类似于python 和c 语言的printf 命令,但是应该没有c语言的那么强大.。printf 命令常用于linux 下的awk 编程, 平时使用输出时用 echo 即可。pintf 命令不能接受管道符参数,也不能之直接跟文件名, 但是可以跟系统命令执行的结果,如`df` 或者 $(cat /etc/passwd)。
一、命令格式: printf '输出类型转义符' 输出内容。
二、常用输出格式:
1、%ns : 输出字符串输出n位的字符串;
2、 %ni: 输出整数: 输出n位的整数;
3、%m.nf: 输出浮点数: m位整数 和 n位小数;
三、常用转义符:
1、\t 水平tab 键;
2、\v 垂直tab 键;
3、\n 换行;
4、\r 回车, Enter键;
5、\f 清除屏幕;
6、\b 输出退格键;
7、\a 输出警告声音。
注意:
1. printf 命令默认输出结果没有换行符,需要手工添加\n。
2. printf 命令后面不能接受管道符参数, 如: df | print '%s' 是错误的。
3. print 命令后面也不能直接跟文件名, 如: print '%5s' /etc/passwd 是错误的。
4. print 命令后可以跟系统命令执行的结果, 如: print '%s' $(cat /etc/password)'。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)