Bash脚本,将输出重定向到另一个目录

时间:2014-05-14 19:53:10

标签: linux bash

我有一个包含目录名称的环境变量。我试图将echo命令的输出重定向到不同目录中的文本文件。

例如

DIR="NewDirectory"
mkdir $DIR
echo "Testing" >> "$DIR\file.txt"

结果在脚本的工作目录中名为NewDirectory \ file.txt的文件中......我到底错过了什么?该目录创建没有问题,所以我不确定这里发生了什么。

3 个答案:

答案 0 :(得分:2)

您必须将\更改为/

DIR="NewDirectory"
mkdir -p $DIR
echo "Testing" >> "$DIR/file.txt"

根据@Jord的建议更改mkdir -p,因为-p表示:如果存在则无错误,根据需要创建父目录

答案 1 :(得分:1)

(或)中,目录分隔符是斜杠(/),而不是反斜杠(\):

DIR="NewDirectory"
mkdir $DIR
echo "Testing" >> "$DIR/file.txt"

答案 2 :(得分:1)

你的行

echo "Testing" >> "$DIR\file.txt"

应该阅读

echo "Testing" >> "$DIR/file.txt"

因为/是Linux中路径中的分隔符。