AIX和批处理文件的理解和说明
问题描述:
我是AIX的新手,我无法理解shell脚本中所述的代码,如下所示,我有几个问题。AIX和批处理文件的理解和说明
if [ "$OutChlName" != "" ] ; then
echo START CHANNEL \($OutChlName\)
fi
- 对于第一线,什么是
""
的意思是,它意味着空? -
\($OutChlName\)
- 有什么办法可以将它转换为批处理文件格式。 - 难道说
fi
是if
的结束标签吗?
谢谢。
答
- 只有在填充变量
OutChkName
时才需要回显。
该字符串与空字符串进行比较。 当您阅读man test
时,您可以找到替代方案if [ -n "$OutChlName" ]
。 -
带双引号的回声 在引号内您不需要反斜杠。
echo "START CHANNEL ($OutChlName)"
我echo
行为不同,当OutChlName变量有特殊字符,如换行或*
。我认为我的语法是轻微的错误修正,但是当您不想更改原始行为时,可以使用echo "START CHANNEL ("$OutChlName")"
使用反斜杠也是有效的语法(批处理格式)。 -
fi
结束if
另外esac
结束case
,和done
结束do
(奇数,它应该是od
)。
+0
哦,我明白了,这清除了我的疑惑,谢谢! :d – Decim
linux/aix和windows/batch-file标签是IMO的标准。 ?bash?代码意味着如果var不是空的回声... – LotPings