1、使用echo進行格式化輸出
2、使用printf進行格式化輸出
1、使用echo進行格式化輸出
顯示轉義字元
[root@yanta ~]# echo "\"this is a test\""
"this is a test"12
讀取變數並顯示
使用 read 命令從標準輸入中讀取一行,並把輸入行的每個欄位的值指定給 shell 變數:
#!/bin/bash
# name: /home/yanta/read_echo.sh
# author: yanta
# dsc: this is to test reading input arguments
usage()
read()
main()
read
}main $*12
3456
78910
1112
1314
1516
1718
1920
2122
2324
2526
輸出結果是:
[root@yanta yanta]# ./read_echo.sh
please input your name: yanta
your name is %name12
3顯示換行和不換行
echo 的 -e 引數開啟轉義;\n 換行 \c 不換行
[root@yanta yanta]# echo "hello"
hello
[root@yanta yanta]# echo -e "hello"
hello
[root@yanta yanta]# echo -n "hello"
hello[root@yanta yanta]# echo -e "hello \n"
hello
[root@yanta yanta]# echo "hello \n"
hello \n
[root@yanta yanta]# echo "hello \c"
hello \c
[root@yanta yanta]# echo -e "hello \c"
hello [root@yanta yanta]# 12
3456
78910
1112
1314
2、使用printf進行格式化輸出
語法printf 命令模仿 c 程式庫(library)裡的 printf() 程式。
標準所定義,因此使用printf的指令碼比使用echo移植性好。
printf 使用引用文字或空格分隔的引數,外面可以在printf中使用格式化字串,還可以制定字串的寬度、左右對齊方式等。
預設printf不會像 echo 自動新增換行符,我們可以手動新增 \n。
printf 命令的語法:
printf format-string [arguments…]
引數說明:
format-string: 為格式控制字串
arguments: 為引數列表。
轉義序列
note: 轉義序列只在格式字串中會被特別對待,也就是說,出現在引數字串裡的專利序列不會被解釋:
[root@yanta yanta]# printf "%s\n" "abc\ndef"
abc\ndef12
格式化指示符
精度 格式標誌
例項:#!/bin/bash
###########
# name: printf.sh
# author: yanta
# dsc: test printf format output
###########
usage()
print() ||
printf "[%-5s] \t%-s \t[%5s]\n" "$i" "<-->" "$stat"
done
}main()
}main $*12
3456
78910
1112
1314
1516
1718
1920
2122
2324
2526
2728
2930
3132
3334
3536
輸出:[root@yanta yanta]# ./printf.sh
[sshd ] <--> [running]
[ntpd ] <--> [running]
[firewalld] <--> [failed]
---------------------
shell格式化輸出
一 echo 命令介紹 功能 將內容輸出到預設顯示裝置 echo命令的功能是在顯示器上顯示一段文字,一般起到乙個提示的作用。功能說明 顯示文字。語法 echo ne 字串 補充說明 echo會將輸入的字串送往標準輸出。輸出的字串間以空白字元隔開,並在 最後加上換行號。命令選項 n不要在最後自動換行 ...
Shell的格式化輸出
root yanta echo this is a test this is a test 使用read命令從標準輸入中讀取一行,並把輸入行的每個欄位的值指定給 shell 變數 bin bash name home yanta read echo.sh author yanta dsc this ...
shell 日期格式化輸出
cat t.sh 等號兩邊不能有空格,之前錯誤一直出在這裡 yesterday date d yesterday y m d echo yesterday yesterday printf yesterday is s yesterday 前一天的日期 date1 date d 1 day y m ...