2017-07-08 57 views
1

比方說,我寫了下面的腳本:書寫變量的內容到變量文件可變目錄內

#!/bin/sh 
TEXT="hello" 
DIR="test" 
FILE="bla.txt" 
echo $TEXT > $DIR/$FILE 

當運行它,我得到以下錯誤:

test.sh: line 5: test/bla.txt: No such file or directory 

如果變化最後一行是:

echo $TEXT > $FILE 

我沒有得到錯誤。

我知道我可以解決它,這樣做:

FILE_TO_WRITE_TO=$DIR/$FILE 
echo $TEXT > $FILE_TO_WRITE_TO 

但我不明白爲什麼會發生在第一位的錯誤。

+0

試試這個:'MKDIR「$ DIR」' – Cyrus

+0

試了一下我的系統上,它運行完美 –

+0

沒關係,我不知道爲什麼之前我問的問題也沒有合適的工作.. –

回答

2

以下命令給出No such file or directory錯誤,因爲test目錄不存在或Not a directory如果它不是目錄。

echo "hello" > test/bla.txt 

如果需要創建目錄和錯誤管理。

mkdir -p "$DIR" || { echo "failed to mkdir $DIR"; exit 1;} 
echo "$TEXT" > "$DIR/$FILE" || { echo "failed to open $DIR/$FILE for writting"; exit 1;}