2011-01-26 115 views
4

我寫了一個非常簡單的程序來測試將數據輸出到文件名變量。在shell腳本中輸出到文件名變量時出錯

#!/bin/sh 
file="~/output" 
echo "test" > $file 

當我運行該腳本,我得到了以下錯誤

「./script.sh:3號線:〜/輸出:沒有這樣的文件或目錄」

所以我應該如何修改我的代碼以使其工作?或者它在shell腳本中不受支持?

回答

5

圍繞「〜/輸出」的報價是給你造成的悲傷。

e.g

#!/bin/sh 
file=~/output 
echo "test" > $file 

工作正常。

要看看發生了什麼事情,儘量

$ file="~/output" 
$ echo $file 

VS

記住〜是主目錄殼擴張
$ file=~/output 
$ echo $file 

和熊。

1

可以使用$ HOME環境變量,而不是一個腳本:

#!/bin/sh 
file="$HOME/output" 
echo "test" > $file 
相關問題