Chinaunix
标题:
为什么报错呢
[打印本页]
作者:
yfjelley
时间:
2012-10-20 10:44
标题:
为什么报错呢
本帖最后由 yfjelley 于 2012-10-20 11:02 编辑
for i in "$@"
do
if [ "$i" =~ /^-j[1-9]$/ ];then
a = "$i"
fi
done
yangfeng@sbuild:~/msm$ ./test.sh -j8
./test.sh: line 4: [: =~: binary operator expected
正则表达式匹配 -j8
作者:
dn833
时间:
2012-10-20 16:27
if [ "$i" =~ /^-j[1-9]$/ ];then
复制代码
改成
if [[ "$i" =~ /^-j[1-9]$/ ]];then
复制代码
如果还报错那就是shell版本太低了,bash --version看看吧
作者:
blackold
时间:
2012-10-20 17:09
本帖最后由 blackold 于 2012-10-20 17:09 编辑
回复
2#
dn833
对,应该用[[ ]]
作者:
yfjelley
时间:
2012-10-21 07:47
回复
2#
dn833
【】和【【】】的区别是什么呢?
什么时候
要用【】什么时候又要用【【】】?
作者:
blackold
时间:
2012-10-21 07:57
回复
4#
yfjelley
区别很多!
[]是内置命令,[[ ]]是复合命令。
二者的操作符不一样。
什么用?要看你的要求了。
作者:
yfjelley
时间:
2012-10-23 00:01
回复
5#
blackold
有这个用法的文章吗?
作者:
blackold
时间:
2012-10-23 00:05
回复
6#
yfjelley
bash man里面有说明啊。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2