#!/bin/bash
while test -n $1
do
if test -e $1
then echo $1 exist
else echo $1 not exist
fi
shift
done
大家看看这个总是一出现就无限到 exist不管是对错。
我就奇怪了这个东西那里错了
文章评论
共有 1 条评论
alick 于 2010-11-02 11:10:49发表:
[code]#!/bin/bash
echo "*$1*"
while test -n "$1"
do
if test -e "$1"
then echo "$1" exist
else echo "$1" not exist
fi
shift
echo "*$1*"
done[/code]原代码中$1会被扩张为空,test -n后面什么都不接,结果返回0即成功。
所以就死循环了
给字符串加双引号是好习惯
alick 于 2010-11-02 11:10:49发表:
[code]#!/bin/bash
echo "*$1*"
while test -n "$1"
do
if test -e "$1"
then echo "$1" exist
else echo "$1" not exist
fi
shift
echo "*$1*"
done[/code]原代码中$1会被扩张为空,test -n后面什么都不接,结果返回0即成功。
所以就死循环了
给字符串加双引号是好习惯