2013-10-18 85 views
0

我不确定为什么touch filename{1..10}不能在我的K-shell中工作?触摸命令不适用于多个文件?

在这种情况下是否需要制作一个循环?如果有的话这里有什么不对:

#!/usr/bin/ksh 
for i in {1..10} 
do 
    touch file${i} 
done 

谢谢!!

+0

检查KSH版本。 'ksh --version'。今天的规范korn外壳是ksh93。看起来你的情况可能会有所不同。 –

回答

1

原始touch file[i]创建名为“file [i]”的单个文件。

$ touch file[i] 
$ ls 
file[i] 
$ 

Sun的旧的ksh88方言不理解括号扩展,你需要使用类似:

i=1 && while ((i<=10)); do 
    ((i+=1)) 
    touch filename${i} 
done 
+0

仍然不起作用。我更新了我所做的。 – user2370590

+0

结果是什么?此外,我们仍然不知道[你的ksh版本](http://stackoverflow.com/questions/19459891/touch-command-not-working-for-multiple-files/19469934?noredirect=1#comment28873616_19459891) ,并运行一个'uname -a'来获得关于你的系统的额外信息。 –

+1

版本:11/16/88i SUNOS ..结果是文件{1..10}。 – user2370590