Hello,Bash:printf
printf 與echo 相同,會在終端機顯示輸出(stdout)
echo自動換行,但printf不會,須自帶\n換行
kawsing@ubuntu:~$ printf "hello"
hellokawsing@ubuntu:~$ printf "hello\n"
hello
kawsing@ubuntu:~$
printf可以格式化輸出字串,變數$HOME是環境變數,指的是個人家目錄
printf "我叫\"%s\"。\n很高興認識您。\n" "約翰"
printf "Your home folder is %s.\n" $HOME
printf '%(%Y%m%d %H:%M:%S)T\n'
printf-hello.sh
#!/bin/bash
printf "Hello %s " "A先生" "B小姐" "C學生"
echo
#!/bin/bash
printf "Hello %s \b\n" "A先生" "B小姐" "C學生"
printf的轉義序列
序列
說明
\a
警告字符,通常為ASCII的BEL字符
\b
後退
\c
抑制(不顯示)輸出結果中任何結尾的換行字符(只在%b格式指示符控制下的參數字符串中有效),而且,任何留在參數里的字符、任何接下來的參數以及任何留在格式字符串中的字符,都被忽略
\f
換頁(formfeed)
\n
換行
\r
enter(Carriage return)
\t
水平製表符
\v
垂直製表符
\\
一個字面上的反斜杠字符
\ddd
表示1到3位數八進制值的字符。僅在格式字符串中有效
\0ddd
表示1到3位的八進制值字符
Last updated
Was this helpful?