2017-07-08 31 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;}