特殊字元? - Linux

Table of Contents

※ 引述《everydate (月)》之銘言:

: file_name=\$\$_myname <--含 $ ,但有加 \
: 當我去 echo 下面這一串,它是正確的
: echo "$FTP $auth -P $port $address \"$destination_dir\" $file_name"
: ==> ..... $$_myname
: 但是執行的時候卻會出錯
: sh -c "$FTP $auth -P $port $address \"$destination_dir\" $file_name"
: ==> 變成 ..... 756_myname ,它把 $$ 替換成當前 pid 了
((恕刪))

也許你可以使用單引號

strECHO="Hello World" sh -c 'echo $strECHO'


因為以你的作法(雙引號)
則 當前的shell會將變數代換
sh -c ..... $$_myname
當你的sh啟動時 $$ 是要轉成pid沒錯的
而echo是在當前的sh執行的,所以是$$_myname沒錯

所以需將其中一個改成單引號

如 file_name="\$\$_myname" sh -c '..... $file_name'(但所有的變數要export哦)

或 file_name='\$\$_myname' sh -c "..... $file_name"



--
Sincerely Yours,
I_Love_Linux
如有離題,請略過;如有錯誤,請回報;如有不懂,請再問;如有幫助,請享用;如有感謝,請告知

--

All Comments

Caitlin avatarCaitlin2008-07-17
謝謝你~ 很詳細 ^^