[問題] 關於macbook bash 的 printf

看板Linux作者時間7年前 (2017/01/15 20:55), 編輯推噓1(1016)
留言17則, 6人參與, 最新討論串1/1
目前是使用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 這是為什麼呢?? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.237.213 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1484484931.A.D3E.html

01/15 21:51, , 1F
因為 mac 上的 bash 不是最新版
01/15 21:51, 1F

01/15 22:11, , 2F
謝謝!
01/15 22:11, 2F

01/18 05:01, , 3F
mac的bash很舊 要用homebrew/macports裝新版用
01/18 05:01, 3F

01/18 14:05, , 4F
不過新版的 bash 真的有這功能嗎?我用 bash 4.4.5
01/18 14:05, 4F

01/18 14:05, , 5F
還是出現 bash: printf: 「$」: 無效格式字元
01/18 14:05, 5F

01/18 14:31, , 6F
好像 coreutils 也有 printf
01/18 14:31, 6F

01/18 14:31, , 7F
這樣如果用 printf 應該是吃 bash 內建的
01/18 14:31, 7F

01/18 14:32, , 8F
不過我的 /usr/bin/printf 也無法接受這格式
01/18 14:32, 8F

01/18 16:30, , 9F
我在CentOS7上面這樣試也跟原po出現一樣結果@@
01/18 16:30, 9F

01/18 18:12, , 10F
剛才發現 FreeBSD 的 /usr/bin/printf 可以接受
01/18 18:12, 10F

01/18 18:13, , 11F
FreeBSD 上的 man 1 printf 還真的有講到這功能
01/18 18:13, 11F

01/18 22:47, , 12F
所以 BSD 的 bash 也不吃嘛,BSD 的 /usr/bin/printf
01/18 22:47, 12F

01/18 22:47, , 13F
是 world 裡面包含的嗎?
01/18 22:47, 13F

01/18 22:48, , 14F
OSX 是不是也有 /usr/bin/printf 啊?
01/18 22:48, 14F

01/18 22:58, , 15F
這裡的 world 是指?
01/18 22:58, 15F

01/18 23:27, , 16F
就 make world
01/18 23:27, 16F

01/19 01:02, , 17F
那當然就在 world 裡面了,套件是不會動 /usr/bin 的
01/19 01:02, 17F
文章代碼(AID): #1OUt53q- (Linux)