我正在編寫一個shell腳本,其中參數將成爲某個位置的路徑。我正在使用readlink -f命令獲取用戶發送路徑的絕對路徑。假設如果用戶發送的路徑具有類似的空間,readlink -f空格
/home/stack over flow/location
我以外的用戶與報價發送類似
"/home/stack over flow/location"
我這裏有2個問題,
1)即使如果路徑通過引號傳遞,當我遍歷$ @時,引號被抑制並且獲取不帶引號的路徑。
2)我做了周圍的工作,以檢查是否參數包含空格,然後加明確像
if [[ $1 = *\ * ]] ; then
temp=\"$1\"
fi
,我加引號「明確,但現在我面臨的問題是,即使我添加變量用空格現在的readlink不工作 當我做
full_path=`readlink -f ${temp}`
它說 用法:執行的readlink [-n] [-f]符號鏈接
如果我在shell中執行它作爲一個正常的unix命令一樣
readlink -f "/home/stack over flow/location"
這是工作,我得到完整路徑。爲什麼即使我追加空格readlink在shell腳本中也不起作用?這個你能幫我嗎。
做這項工作'readlink -f「$ *」'? – perreal 2012-07-26 07:43:26
使它成爲'full_path = $(readlink -f「$ temp」)''。請注意雙引號。 – fork0 2012-07-26 07:48:21