shell格式化輸出

2021-09-11 17:11:12 字數 2418 閱讀 6500

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()

print

}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 ...