在下面的代码中,我试图检查if
条件内的命令是否成功完成以及数据是否已推送到目标文件 temp.txt。
考虑:
#!/usr/bin/ksh
A=4
B=1
$(tail -n $(( $A - $B )) sample.txt > temp.txt)
echo "1. Exit status:"$?
if [[ $( tail -n $(( $A - $B )) sample.txt > temp.txt ) ]]; then
echo "2. Exit status:"$?
echo "Command completed successfully"
else
echo "3. Exit status:"$?
echo "Command was unsuccessfully"
fi
输出:
$ sh sample.sh
1. Exit status:0
3. Exit status:1
现在我不明白为什么上面的退出状态会发生变化..当尾命令的两个实例的输出相同时。我在哪里错了..?