Linux bash脚本文件连接
嗨,在我的脚本中,我将两个文件连接到一个名为output.txt的新文件中。我无法检查output.txt文件是否存在,然后打印“连接成功”消息。连接似乎可以工作并创建一个新文件Linux bash脚本文件连接,linux,bash,Linux,Bash,嗨,在我的脚本中,我将两个文件连接到一个名为output.txt的新文件中。我无法检查output.txt文件是否存在,然后打印“连接成功”消息。连接似乎可以工作并创建一个新文件 cat$file1$file2>>output.txt file3=“$output.txt”#不正确? 如果[-e$file3] 然后 echo“成功连接文件” fi 应该是: file3="output.txt" cat $file1 $file2 >> $file3 if [ -f $file3 ]
cat$file1$file2>>output.txt
file3=“$output.txt”#不正确?
如果[-e$file3]
然后
echo“成功连接文件”
fi
应该是:
file3="output.txt"
cat $file1 $file2 >> $file3
if [ -f $file3 ]; then
echo "concatenation of files successful"
fi
应该是:
file3="output.txt"
cat $file1 $file2 >> $file3
if [ -f $file3 ]; then
echo "concatenation of files successful"
fi
检查文件是否存在并不意味着文件连接成功。这意味着该文件存在
认为:
cat $file1 $file2(missing) >> $file3
cat $file1(missing) $file2 >> $file3
将使$file3
存在
使用$?
检查上次操作退出值说明整个操作成功运行
另外,除非您特别希望将>
附加到现有文件,否则您将始终附加。因此,在第一次操作之后,您的文件将始终存在
检查文件是否存在并不意味着文件连接成功。这意味着该文件存在
认为:
cat $file1 $file2(missing) >> $file3
cat $file1(missing) $file2 >> $file3
将使$file3
存在
使用$?
检查上次操作退出值说明整个操作成功运行
另外,除非您特别希望将>
附加到现有文件,否则您将始终附加。因此,在第一次操作之后,您的文件将始终存在。在单行中
cat $file1 $file2 >> output.txt && echo 'Success' || echo 'Failed'
单行
cat $file1 $file2 >> output.txt && echo 'Success' || echo 'Failed'
删除美元符号:
file3=“output.txt”
<代码>$output将被名为output的变量替换(此处发布的代码段中不存在该变量)。如果将file3变量移到cat
上方,还可以将其用于输出重定向,以避免重复文件名两次。删除美元符号:file3=“output.txt”
<代码>$output将被名为output的变量替换(此处发布的代码段中不存在该变量)。如果将file3变量移到cat
上方,还可以将其用于输出重定向,以避免重复文件名两次。该-f
无法解决问题。事实上,-e
也很好。刚刚修复了它-现在应该可以了,我改为upvote,因为@cfillion只是添加了他的答案作为评论。因此,即使这是经过编辑的,但现在这是正确的答案@phebus-注意,在shell脚本中,您不需要使用
在之后,如果在之前,则现在尝试运行名为file3
的命令。等号周围不应该有空格。-f
不能解决问题。事实上,-e
也很好。刚刚修复了它-现在应该可以了,我改为upvote,因为@cfillion只是添加了他的答案作为评论。因此,即使这是经过编辑的,但现在这是正确的答案@phebus-注意,在shell脚本中,您不需要使用
在之后,如果在之前,则现在尝试运行名为file3
的命令。等号周围不应该有空格。