特殊字元? - Linux

By Frederica
at 2008-07-12T18:45
at 2008-07-12T18:45
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
如有離題,請略過;如有錯誤,請回報;如有不懂,請再問;如有幫助,請享用;如有感謝,請告知
--
: 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
如有離題,請略過;如有錯誤,請回報;如有不懂,請再問;如有幫助,請享用;如有感謝,請告知
--
Tags:
Linux
All Comments

By Caitlin
at 2008-07-17T00:31
at 2008-07-17T00:31
Related Posts
ISO的取得

By Andrew
at 2008-07-12T14:52
at 2008-07-12T14:52
記憶體很有限的環境(16-32 MB),可能跑rdesktop嗎?

By Puput
at 2008-07-12T14:14
at 2008-07-12T14:14
如何保留網頁的內容

By Yedda
at 2008-07-12T13:40
at 2008-07-12T13:40
特殊字元?

By Sierra Rose
at 2008-07-12T10:03
at 2008-07-12T10:03
ubuntu 8.04 安裝

By Thomas
at 2008-07-12T09:46
at 2008-07-12T09:46