rm -rf runinfo/log
mkdir runinfo/log
rm -rf runinfo/index1208/*
echo dupserver strating......
if [![-s ../src/build/dupserver]]; then #这个地方有问题: run[5]: [![-s: 未找到
cd ../src
gm
cd ../config
fi
../src/build/dupserver -i server.cfg
我想用那个if语句判断一下文件不存在的情况,但是失败了
请教大侠们怎么弄
还有,那个方括号什么意思?then前面的那个";"干什么用的,貌似“;"不要的话会出问题
9 个解决方案
#1
中括号[]前后要有空格
#2
if [![-s ../src/build/dupserver]];
[ -s ../src/build/dupserve ]
[ -s ../src/build/dupserve ]
#3
现在我把每个 [ 和 ]前后都加了空格,出现了新问题
rm -rf runinfo/log
mkdir runinfo/log
rm -rf runinfo/index1208/*
echo dupserver strating......
if [ ! [ -e ../src/build/dupserver ] ] ; then #run[6]: -e: test 命令参数无效。
cd ../src
gm
cd ../config
fi
../src/build/dupserver -i server.cfg
再请教大侠们
rm -rf runinfo/log
mkdir runinfo/log
rm -rf runinfo/index1208/*
echo dupserver strating......
if [ ! [ -e ../src/build/dupserver ] ] ; then #run[6]: -e: test 命令参数无效。
cd ../src
gm
cd ../config
fi
../src/build/dupserver -i server.cfg
再请教大侠们
#4
用 [ ! -e ../src/build/dupserver ]; 替换
#5
我了个擦,谁教你这样写的?
if [ ! -e "../src/build/dupserver" ] ; then
fi
这样就行了。
if [ ! -e "../src/build/dupserver" ] ; then
fi
这样就行了。
#6
a file exists.
-b file exists and is a block special file.
-c file exists and is a character special file.
-d file exists and is a directory.
-e file exists (just the same as -a).
-f file exists and is a regular file.
-g file exists and has its setgid(2) bit set.
-G file exists and has the same group ID as this process.
-k file exists and has its sticky bit set.
-L file exists and is a symbolic link.
-n string length is not zero.
-o Named option is set on.
-O file exists and is owned by the user ID of this process.
-p file exists and is a first in, first out (FIFO) special file or
named pipe.
-r file exists and is readable by the current process.
-s file exists and has a size greater than zero.
-S file exists and is a socket.
-t file descriptor number fildes is open and associated with a
terminal device.
-u file exists and has its setuid(2) bit set.
-w file exists and is writable by the current process.
-x file exists and is executable by the current process.
-z string length is zero.
-s 是可以的.
if [ -s ../src/build/dupserver ];then
-b file exists and is a block special file.
-c file exists and is a character special file.
-d file exists and is a directory.
-e file exists (just the same as -a).
-f file exists and is a regular file.
-g file exists and has its setgid(2) bit set.
-G file exists and has the same group ID as this process.
-k file exists and has its sticky bit set.
-L file exists and is a symbolic link.
-n string length is not zero.
-o Named option is set on.
-O file exists and is owned by the user ID of this process.
-p file exists and is a first in, first out (FIFO) special file or
named pipe.
-r file exists and is readable by the current process.
-s file exists and has a size greater than zero.
-S file exists and is a socket.
-t file descriptor number fildes is open and associated with a
terminal device.
-u file exists and has its setuid(2) bit set.
-w file exists and is writable by the current process.
-x file exists and is executable by the current process.
-z string length is zero.
-s 是可以的.
if [ -s ../src/build/dupserver ];then
#7
注意两边的空格就是了.
#8
OK了,多谢各位大侠们的帮助,感激不尽
现在脚本这样写的:
rm -rf runinfo/log
mkdir runinfo/log
rm -rf runinfo/index1208/*
echo dupserver strating......
if [ ! -e ../src/build/dupserver ] ; then
cd ../src
gmake
cd ../config
fi
../src/build/dupserver -i server.cfg
现在脚本这样写的:
rm -rf runinfo/log
mkdir runinfo/log
rm -rf runinfo/index1208/*
echo dupserver strating......
if [ ! -e ../src/build/dupserver ] ; then
cd ../src
gmake
cd ../config
fi
../src/build/dupserver -i server.cfg
#9
怎么少给了一个人分?晕,5楼那位大侠,大人大量,不要计较
#1
中括号[]前后要有空格
#2
if [![-s ../src/build/dupserver]];
[ -s ../src/build/dupserve ]
[ -s ../src/build/dupserve ]
#3
现在我把每个 [ 和 ]前后都加了空格,出现了新问题
rm -rf runinfo/log
mkdir runinfo/log
rm -rf runinfo/index1208/*
echo dupserver strating......
if [ ! [ -e ../src/build/dupserver ] ] ; then #run[6]: -e: test 命令参数无效。
cd ../src
gm
cd ../config
fi
../src/build/dupserver -i server.cfg
再请教大侠们
rm -rf runinfo/log
mkdir runinfo/log
rm -rf runinfo/index1208/*
echo dupserver strating......
if [ ! [ -e ../src/build/dupserver ] ] ; then #run[6]: -e: test 命令参数无效。
cd ../src
gm
cd ../config
fi
../src/build/dupserver -i server.cfg
再请教大侠们
#4
用 [ ! -e ../src/build/dupserver ]; 替换
#5
我了个擦,谁教你这样写的?
if [ ! -e "../src/build/dupserver" ] ; then
fi
这样就行了。
if [ ! -e "../src/build/dupserver" ] ; then
fi
这样就行了。
#6
a file exists.
-b file exists and is a block special file.
-c file exists and is a character special file.
-d file exists and is a directory.
-e file exists (just the same as -a).
-f file exists and is a regular file.
-g file exists and has its setgid(2) bit set.
-G file exists and has the same group ID as this process.
-k file exists and has its sticky bit set.
-L file exists and is a symbolic link.
-n string length is not zero.
-o Named option is set on.
-O file exists and is owned by the user ID of this process.
-p file exists and is a first in, first out (FIFO) special file or
named pipe.
-r file exists and is readable by the current process.
-s file exists and has a size greater than zero.
-S file exists and is a socket.
-t file descriptor number fildes is open and associated with a
terminal device.
-u file exists and has its setuid(2) bit set.
-w file exists and is writable by the current process.
-x file exists and is executable by the current process.
-z string length is zero.
-s 是可以的.
if [ -s ../src/build/dupserver ];then
-b file exists and is a block special file.
-c file exists and is a character special file.
-d file exists and is a directory.
-e file exists (just the same as -a).
-f file exists and is a regular file.
-g file exists and has its setgid(2) bit set.
-G file exists and has the same group ID as this process.
-k file exists and has its sticky bit set.
-L file exists and is a symbolic link.
-n string length is not zero.
-o Named option is set on.
-O file exists and is owned by the user ID of this process.
-p file exists and is a first in, first out (FIFO) special file or
named pipe.
-r file exists and is readable by the current process.
-s file exists and has a size greater than zero.
-S file exists and is a socket.
-t file descriptor number fildes is open and associated with a
terminal device.
-u file exists and has its setuid(2) bit set.
-w file exists and is writable by the current process.
-x file exists and is executable by the current process.
-z string length is zero.
-s 是可以的.
if [ -s ../src/build/dupserver ];then
#7
注意两边的空格就是了.
#8
OK了,多谢各位大侠们的帮助,感激不尽
现在脚本这样写的:
rm -rf runinfo/log
mkdir runinfo/log
rm -rf runinfo/index1208/*
echo dupserver strating......
if [ ! -e ../src/build/dupserver ] ; then
cd ../src
gmake
cd ../config
fi
../src/build/dupserver -i server.cfg
现在脚本这样写的:
rm -rf runinfo/log
mkdir runinfo/log
rm -rf runinfo/index1208/*
echo dupserver strating......
if [ ! -e ../src/build/dupserver ] ; then
cd ../src
gmake
cd ../config
fi
../src/build/dupserver -i server.cfg
#9
怎么少给了一个人分?晕,5楼那位大侠,大人大量,不要计较