shell脚本中未附加到文件的字符串
我正在尝试一个简单的shell程序,如下所示,在文件末尾添加数据shell脚本中未附加到文件的字符串,shell,Shell,我正在尝试一个简单的shell程序,如下所示,在文件末尾添加数据 path="/root/dir" secure="*(rw,..)" echo "$path $secure" >> a.txt 不是将字符串附加到a.txt,只是猜测,但您的脚本可能是DOS格式的,您实际上是在尝试将输出写入a.txt\r。请尝试对代码运行以下操作之一,然后重试: sed -i 's|\r||' file dos2unix file 它是否没有在a.txt中添加任何内容?你能显示ls-la.txt
path="/root/dir"
secure="*(rw,..)"
echo "$path $secure" >> a.txt
不是将字符串附加到a.txt,只是猜测,但您的脚本可能是DOS格式的,您实际上是在尝试将输出写入a.txt\r。请尝试对代码运行以下操作之一,然后重试:
sed -i 's|\r||' file
dos2unix file
它是否没有在
a.txt
中添加任何内容?你能显示ls-la.txt
的输出吗?-rw-r--r--1根根根目录25 Aug 4 07:44 a.txtcat a.txt adasdassd adasdashmm好的,echo“$path”>>a.txt
会不会是*
出了问题?如果您试图用一些不包含星号的内容设置安全性
,该怎么办?在bash中,*
被展开。您还可以尝试secure='*(rw,…)
(单引号),这样它就不会展开。