回文章列表
作者chiucs.bbs@ptt.cc (ChiuCS) 看板: linux
標題Re: [問題] 特殊字元?
時間批踢踢實業 (2008/07/12 Sat 18:46:01)
※ 引述《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
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻