ascii() {printf '%d' "'$1"}
我目前正在使用此函式將字符轉換為 ASCII,但是我只想將該函式的結果存盤為變數而不列印 ascii。我該怎么辦?(請記住,我總共只使用了幾個小時的 bash,如果這是一個愚蠢的問題,很抱歉。)
uj5u.com熱心網友回復:
在 bash 中,在
printf -v numval "%d" "'$1"
變數numval(您可以使用任何其他有效的變數名稱)將保存位置引數中包含的字串的第一個字符的數值$1。
或者,您可以使用命令替換:
numval=$(printf "%d" "'$1")
請注意,這些仍然使用printf但不會列印任何內容到stdout.
正如@Charles Duffy的評論中所述,該printf -v版本效率更高,但便攜性較差(標準 POSIX shell 不支持該-v選項)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/368379.html
