我有一个包含目录名称的环境变量。我试图将echo命令的输出重定向到不同目录中的文本文件。
例如
DIR="NewDirectory"
mkdir $DIR
echo "Testing" >> "$DIR\file.txt"
结果在脚本的工作目录中名为NewDirectory \ file.txt的文件中......我到底错过了什么?该目录创建没有问题,所以我不确定这里发生了什么。
答案 0 :(得分:2)
您必须将\
更改为/
:
DIR="NewDirectory"
mkdir -p $DIR
echo "Testing" >> "$DIR/file.txt"
根据@Jord的建议更改mkdir -p
,因为-p
表示:如果存在则无错误,根据需要创建父目录
答案 1 :(得分:1)
在linux(或unix)中,目录分隔符是斜杠(/
),而不是反斜杠(\
):
DIR="NewDirectory"
mkdir $DIR
echo "Testing" >> "$DIR/file.txt"
答案 2 :(得分:1)
你的行
echo "Testing" >> "$DIR\file.txt"
应该阅读
echo "Testing" >> "$DIR/file.txt"
因为/
是Linux中路径中的分隔符。