首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

linux中 [: too many arguments 异常怎么办

2013-12-11 
linux中[: too many arguments 错误怎么处理?shell中有这么一段代码if [-e ${v_file_name} ] then。。。。。fi

linux中 [: too many arguments 错误怎么处理?
shell中有这么一段代码

if [  -e ${v_file_name} ]; then

。。。。。

fi

在aix(6.1.0.0)中执行没有问题,到linux(Red Hat Enterprise Linux Server release 6.1 (Santiago))中执行就报如题的错误,请问这是什么原因?该怎么解决?谢谢!!!
[解决办法]
sh 
ksh
csh
or anything else?

[解决办法]

if [ -e "${v_file_name}" ]; then
    echo yes
fi

[解决办法]
${v_file_name}    这个参数中间应该有空格或特殊字符,需要用双引号引起来,楼主可以查查双引号的作用,会让其中的元字符失效。
[解决办法]
引用:
Quote: 引用:

${v_file_name}    这个参数中间应该有空格或特殊字符,需要用双引号引起来,楼主可以查查双引号的作用,会让其中的元字符失效。



试了,不行,我的${v_file_name} 有可能出现多个值的情况!
是有多个文件吗?文件是否需要一个一个的进行-e 判断呢?如需要,改改脚本吧。
[解决办法]
引用:
Quote: 引用:

是有多个文件吗?文件是否需要一个一个的进行-e 判断呢?如需要,改改脚本吧。

不需要,只是数据量比较大,分了文件,文件名中加了个序号,只判断有文件存在就行,该怎么改呢?

楼主可以提供一个${v_file_name} 具体的值出来吗,方便提供建议
[解决办法]
引用:
不需要,只是数据量比较大,分了文件,文件名中加了个序号,只判断有文件存在就行,该怎么改呢?
提供一个${v_file_name} 具体的值出来
file_name_001.dat
file_name_002.dat
file_name_003.dat

就以上这种!
 一个值就有可能是多个文件的吧 那这样就要拆开处理了
[解决办法]

weblogic@z174774C6c16g120gs11-1:~/file> ll
total 0
-rw-r--r-- 1 weblogic bea 0 2013-12-10 08:13 file1.txt
-rw-r--r-- 1 weblogic bea 0 2013-12-10 08:14 file2.txt
weblogic@z174774C6c16g120gs11-1:~/file> name="file1.txt file2.txt"
weblogic@z174774C6c16g120gs11-1:~/file> echo $name 
[解决办法]
 cut -d ' ' -f1
file1.txt
weblogic@z174774C6c16g120gs11-1:~/file> file=
weblogic@z174774C6c16g120gs11-1:~/file> echo $file 
[解决办法]
 cut -d ' ' -f1

weblogic@z174774C6c16g120gs11-1:~/file> echo $?
0
weblogic@z174774C6c16g120gs11-1:~/file> 
 分割,取第一个域,然后判断第一个域值是否为空就可以了
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

是有多个文件吗?文件是否需要一个一个的进行-e 判断呢?如需要,改改脚本吧。

不需要,只是数据量比较大,分了文件,文件名中加了个序号,只判断有文件存在就行,该怎么改呢?

楼主可以提供一个${v_file_name} 具体的值出来吗,方便提供建议


file_name_001.dat
file_name_002.dat
file_name_003.dat

就以上这种!

分别判断吧,先解析有多少文件名称,然后依次判断是否存在

热点排行