我正在爲字符串的快速base64編碼創建一種別名。對於它,我已經創建了下面的函數,並把它添加到我的.bash_profile文件:bash函數 - 忽略變量值
# My functions
function b64() {
perl -MMIME::Base64 -e 'print encode_base64("$1");'
}
的問題是,它編碼字符串「$ 1」本身不處理的請求,我「讓」給它的實際價值:
$ b64 "test_value"
JDE=
$ echo -n "JDE=" | base64 -d
$1
我一直在使用「$ 1」和「$ 1」,不帶任何引號試過了,但問題仍然存在,是它讓編碼$ 1中的字符串,而不是一個值。
你能查看我在這裏錯過了什麼嗎? 在此先感謝!
非常感謝,它做到了。將注意這些調試技巧。 –
請注意,這不是強大的編程:如果字符串包含單引號(並且更危險的是,它受制於任意代碼執行),它將會失敗。 –