Bash 为什么';append命令在我的脚本中不起作用吗?
我在solaris的bash脚本中有以下代码,其中Bash 为什么';append命令在我的脚本中不起作用吗?,bash,solaris,Bash,Solaris,我在solaris的bash脚本中有以下代码,其中>(append)不起作用: for j in $(cat file1.txt); do for i in $(cat file2.txt); do if [ "$j" = "$i" ]; then echo "_$i" >> file3.txt fi done done 我不知道为什么不生成file3.txt如果在运行脚本时没有显示错误消息,则>重定向工作正常。问题是使用它的线路恰好
>
(append)不起作用:
for j in $(cat file1.txt); do
for i in $(cat file2.txt); do
if [ "$j" = "$i" ]; then
echo "_$i" >> file3.txt
fi
done
done
我不知道为什么不生成
file3.txt
如果在运行脚本时没有显示错误消息,则>
重定向工作正常。问题是使用它的线路恰好从未被调用
替换
if [ "$j" = "$i" ]; then
借
要确认它(假设
file1.txt
或file2.txt
都不是空的)。如果删除>file3.txt
,它是否打印任何内容?它本身并没有回答问题,但您可以使用“comm”命令执行相同的操作-您的输入文件可能不同,也就是说,每个输入文件的行n
是不同的。不仅是每行,似乎两个文件中的每个单词都是不同的。$(cat file.txt)
的输出将进行分词,因此第一个文件中的每个字都将与第二个文件中的每个字进行比较。这是否应该是“$j”==“$i”
?或“$j”!=“$i”
if [ "$j" != "$i" ]; then