LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 769|回复: 6

问第二个问题

[复制链接]
发表于 2004-8-16 19:49:39 | 显示全部楼层 |阅读模式
我编辑shell如下
.....(略)
#Filename : move
mv /root/1 /root/bsprc/1
mv /root2 /root/bsprc/2
echo "finished"

#. move
-bash:ELF:command not found
这是咋回事?还有怎么一次就mv几个文件,我用逗号分隔它说不对

另外一个
.......
#filename : cAse
case $1 in
     start)
     echo "start"
     ;;
     *)
     echo "wrong"
     ;;
esca
请问为什么用$1,为什么用其他的代替无论输入什么(包括.cAse start)都会直接跳到 echo "wrong"?
发表于 2004-8-16 20:03:16 | 显示全部楼层
1,这样试试
chmod +x move
./move
2,因为$1是脚本接受的第一个位置参数
发表于 2004-8-16 20:04:49 | 显示全部楼层
1 还没设置运行权 chmod u+x move

2 双引号"$1"?
不知掉为何你不行咯
 楼主| 发表于 2004-8-16 20:37:13 | 显示全部楼层
谢谢阿
那怎么解决Yi次mv几个文件啊?
发表于 2004-8-16 23:34:38 | 显示全部楼层
最初由 bestee 发表
谢谢阿
那怎么解决Yi次mv几个文件啊?

1,用通配符,如:

  1. mv /sdir/file* /ddir
复制代码

2,用循环,如:

  1. for file in $(<filelist);do
  2.     mv ...
  3. done
复制代码

ps:这样的例子在论坛里数不胜数,望善用论坛搜索 :thank
发表于 2004-8-17 01:51:33 | 显示全部楼层

回复: 问第二个被嘲笑的问题

最初由 bestee 发表
另外一个
.......
#filename : cAse
case $1 in
     start)
     echo "start"
     ;;
     *)
     echo "wrong"
     ;;
esca

请问为什么用$1,为什么用其他的代替无论输入什么(包括.cAse start)都会直接跳到 echo "wrong"?

问题出现在红字部分!
是你打错了!也许这样看,更简洁些

  1. case $1 in
  2. start)    echo "start";;
  3. *)         echo "wrong";;[color=red]
  4. esac[/color]
复制代码
 楼主| 发表于 2004-8-17 09:59:25 | 显示全部楼层
是我发贴时打错了,问题已经解决,谢谢了
还有...我帖子的标题怎么....
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表