看板 Linux 關於我們 聯絡資訊
※ 引述《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 如有離題,請略過;如有錯誤,請回報;如有不懂,請再問;如有幫助,請享用;如有感謝,請告知 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.74.74.29
everydate:謝謝你~ 很詳細 ^^ 07/12 20:59