请教一个关于处理文件的问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
koesmetcal
帖子: 2
注册时间: 2010-10-10 20:17

请教一个关于处理文件的问题

#1

帖子 koesmetcal » 2010-10-10 20:36

我想写这么一个脚本:
进入指定目录后,判断该目录下所有文件的类型
如果是目录
不进行任何操作
如果是文件
则创建以该文件名命名的目录,并将这个文件转移到新建的对应文件夹内

代码如下:
#!/bin/sh
cd test
for file in *;do
if [! -d $file] ;then
mkdir 1$file
mv $file 1$file
else
echo "nothing happens"
fi
done;
结果却只出现这个
./a.sh: 10: [!: not found
nothing happens
./a.sh: 10: [!: not found
nothing happens

更改脚本后:
#!/bin/sh
cd test
for file in *;do
if [!-f $file] ;then
echo "nothing happens"
else
mkdir 1$file
mv $file 1$file
fi
done;
运行结果:
./a.sh: 10: [!-f: not found
./a.sh: 10: [!-f: not found

从两个结果看,每次程序只执行了else里面的内容,上面对文件的判断全都没有起效,,不知道到底是什么原因,,求教各位大虾~~谢谢了
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 请教一个关于处理文件的问题

#2

帖子 aerofox » 2010-10-10 22:12

[ 后,] 前都要有空格
koesmetcal
帖子: 2
注册时间: 2010-10-10 20:17

Re: 请教一个关于处理文件的问题

#3

帖子 koesmetcal » 2010-10-10 22:33

aerofox 写了:[ 后,] 前都要有空格
哈哈 ,,果然是这个问题阿 太 感谢了阿
回复