2013-07-23 55 views
-1

我想使用Bash Shell脚本从.csv文件获取数据,我想验证shell脚本中的列。它不在if区块内。但是,当我用echo命令为null意味着它是没有价值,但是当我使用在bash脚本中验证.csv文件的空列

if [ -z "${Upper}" ]; then 
    echo "VAR is empty" 
fi 

它不是if块中去。 任何帮助最受欢迎。

+2

为了检查字符串是否为空,我通常使用,如果[“$ {上}” =“”];然后回显“空”fi – Raghuram

+0

把csv例子在这里 –

+0

显示更多的代码。 –

回答

1

如果回波打印${Upper}空白,可能仅包含空格或选项卡,更改if这样

if [[ "${Upper}" =~ '^[[:blank:]]*$' ]]; then 
    echo "VAR is empty" 
fi 
+0

while read Lower Lower do if [[“$ Upper”=“”]];然后 回声“缺少值” 其他 回声“否则部分” 音响 – Maclane

+0

这是我写的代码,但它仍然没有给我想要的结果 – Maclane

+0

你试试我的版本?用[[[$ $ {Upper}“=〜'^ [[:blank:]] * $']]'... –