$?
指的是最后的命令:
#!/bin/sh
cp home/testing/present.txt home/testing/future.txt
echo "Copy Code: $? - Successful" # last command: cp
if [ $? != 0 ]; then # last command: echo
echo "Copy Code: $? - Unsuccessful" # last command: [
fi
如果你想重复使用特定命令的状态工作,只是将结果保存到另一个变量:
#!/bin/sh
cp home/testing/present.txt home/testing/future.txt
status=$?
echo "Copy Code: $status - Successful"
if [ $status != 0 ]; then
echo "Copy Code: $status - Unsuccessful"
fi
然而,更好的方法是简单地首先测试cp
命令:
if cp home/testing/present.txt home/testing/future.txt
then
echo "Success"
else
echo "Failure, exit status $?"
fi
令人惊讶的简单和优雅。感谢您的解决方案。 – 2015-03-13 18:04:42