关于SHELL编程中的if嵌套问题
虽然写了几年的C/C++程序,但是SHELL却没有研究过.请各位大侠指点迷津
为什么不可以这样写,又或者我哪写错了?
C/C++ code
if [ "$1" = "-f" ] && [ -n "$1" ]
then
# echo $1
# rm.exe -f $2
echo "You can't use args -f"
else
# echo "error"
echo "Are you sure to delete $1?"
read A
if [ $A = "y" ] //问题出在这,难道不可以这样写?不能这样嵌套么?不会吧...
then
rm.exe $1
else
echo "delete is undo"
fi
fi
------解决方案--------------------C/C++当中=表示什么?
------解决方案--------------------run了一下,语法没问题啊,不知道你遇到什么问题?
------解决方案--------------------if [ $A -eq "y" ]
------解决方案--------------------if里的变量都要""引起来,否则带空格的内容就会导致错误。
------解决方案--------------------if [ “$A” -eq "y" ]或者你改成 if [ "$A" == "y" ]是两个等于号吧 不是一个 字符串的比对还是用第一个比较好