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:å°é¢è²éç½®
可以使用wc命令,wc命令的功能为统计指定文件中的字节数、单词数、行数, 并将统计结果显示输出。常用参数:
-c, --bytes打印字节数
-m, --chars 打印字符数
-l, --lines 打印行数
-w, --words 打印单词数
用法示例:
统计file.txt文件中字符的个数:
$ wc -m file.txt
wc命令默认的输入参数为文件名,可以转而通过管道符输入文本流。
统计字符串"zhidao"字符的个数:
$ echo "zhidao" | wc -m
第一句是把$#赋值给了count变量,$#是特殊Shell变量,指的是参数的个数。cmd变量的内容是echo命令
第三句是循环,条件是只要count不等于0
第六句是count值减1
程序的意思是:
一直循环,只要参数个数不是0,那么显示这个参数,前面加上一个$符号。
即你的参数是foo的话,那么显示的就是$foo
eval的意思是运行变量cmd中命令
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)