的printf%Q應該引用的字符串。但是,執行到腳本中時,會刪除空格。
此命令:
printf %q "hello world"
輸出:
hello\ world
這是正確的。
這個腳本:
#!/bin/bash
str="hello world"
printf %q $str
輸出:
helloworld
這是不對的。
如果確實需要這樣的行爲,那麼在腳本中用什麼替代方法來引用包含任何字符的字符串,以便可以通過被調用的程序將其翻譯回原來的位置?
謝謝。
軟件:GNU的bash,版本4.1.5(1)-release(1486-PC-Linux的GNU)
編輯:解決了,謝謝。
刪除了「解決」前綴的標題你帖子。在StackOverflow.com中,您不會將問題標記爲已解決的問題,只需在「已解決」的前面加上標題即可接受答案,或者發佈自己的答案,並通過單擊接近工作答案的投票按鈕下方的勾號接受答案爲你。 – 2012-01-28 12:48:39