關於macbook bash 的 printf - Linux

Table of Contents



目前是使用macbook練習bash指令

想請教linux的前輩們

prinf指令中,有一個’n$’格式

man page 文件解釋此格式可以自訂排序顯示後面引數(n:代表第幾個引數)

也就是說:

(intput)
printf "%s, %s" "first" "second"
(output)
first, second

加入n$格式:

(input)
printf "%2$s, %1$s" "first" "second"
(output)
second, first

網路上找到的例子也都是如此使用

可是macbook卻出現錯誤訊息:
-bash: printf: `$': invalid format character

這是為什麼呢??

--

All Comments

Robert avatarRobert2017-01-20
因為 mac 上的 bash 不是最新版
Susan avatarSusan2017-01-21
謝謝!
Ophelia avatarOphelia2017-01-21
mac的bash很舊 要用homebrew/macports裝新版用
Adele avatarAdele2017-01-22
不過新版的 bash 真的有這功能嗎?我用 bash 4.4.5
還是出現 bash: printf: 「$」: 無效格式字元
John avatarJohn2017-01-27
好像 coreutils 也有 printf
這樣如果用 printf 應該是吃 bash 內建的
Una avatarUna2017-01-28
不過我的 /usr/bin/printf 也無法接受這格式
Belly avatarBelly2017-02-01
我在CentOS7上面這樣試也跟原po出現一樣結果@@
Sarah avatarSarah2017-02-04
剛才發現 FreeBSD 的 /usr/bin/printf 可以接受
Lily avatarLily2017-02-07
FreeBSD 上的 man 1 printf 還真的有講到這功能
Queena avatarQueena2017-02-10
所以 BSD 的 bash 也不吃嘛,BSD 的 /usr/bin/printf
是 world 裡面包含的嗎?
Skylar Davis avatarSkylar Davis2017-02-15
OSX 是不是也有 /usr/bin/printf 啊?
Zanna avatarZanna2017-02-16
這裡的 world 是指?
Caroline avatarCaroline2017-02-18
就 make world
Irma avatarIrma2017-02-19
那當然就在 world 裡面了,套件是不會動 /usr/bin 的