2010-11-15 69 views
0

我的變量path1包含值/home/folder。如何使用此絕對路徑名創建一個名爲foo的新文件?在Unix中,如何以絕對路徑名創建文件

path1="/home/folder" 
echo "hello web" > $path1/foo 

但這段代碼給我錯誤。有人可以告訴我如何使用路徑名稱在特定位置創建此文件foo?

+1

你會得到什麼錯誤? – eumiro 2010-11-15 12:11:38

+1

什麼錯誤?該目錄可能不存在,或者您沒有寫入權限。 – chris 2010-11-15 12:13:12

+0

當我輸入ls -l時,它顯示每個文件夾都有rw權限。我得到的錯誤是「bash:/ home/Downloads/foo:沒有這樣的文件或目錄」。但如果我輸入$ HOME/folder/foo而不是/ home/folder/foo,它可以工作。 – 2010-11-15 12:22:09

回答

4

在bash,你應該寫:

path1="/home/folder"; echo "hello web" > $path1/foo 

或者:

export path1="/home/folder" 
echo "hello web" > $path1/foo 

符號只在bash腳本中使用的作品。

+0

我不認爲第一個版本會起作用,除非你在echo之前有一個分號。實際上,path1將被導出爲echo,但不會在重定向中使用正確的值進行擴展。 – thkala 2010-11-15 12:27:38

相關問題