这是一个 C shell 脚本,用于检查参数数量以及文件/目录是否存在。当参数有效时,它应该转到最后一个 else 语句并打印“hi”,但是当我使用正确的参数运行此脚本时,它不会打印任何内容。 (但退出状态为 0)
当我有无效参数时,其他一切都工作正常。
if ($#argv != 2) then
echo "Two arguments required"
else
if (! -f $argv[1]) then
echo "File does not exist"
exit 1
else
if (! -d $argv[2]) then
echo "Not a valid directory"
exit 2
endif
endif
else
echo "hi"
endif
也许是我的语法错误?有任何想法吗?
答案1
else
无法联系此案例,因为您已有else
此案例if
。您想要完成的事情可以通过以下方式完成:
if ($#argv != 2) then
echo "Two arguments required"
exit 1
else if (! -f $argv[1]) then
echo "File does not exist"
exit 1
else if (! -d $argv[2]) then
echo "Not a valid directory"
exit 2
endif
echo "hi"