当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 一堆小小的问题,厚颜来问[高手就不用进来了]
帖子发表于 : 2007-08-30 16:53 

注册: 2007-08-30 16:42
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
看了置顶贴后写的一个练习的脚本,执行起来错误不少。。。。

#!/bin/sh
# 复制~/Desktop/test下的新文件到桌面或其他某处
find ~/Desktop/test -mmin 10 >temp # 10min内修改的文件列表存入temp

echo "Select Mode"

select mode in "手动" "桌面"; do # 输出位置 这里会出错,说select怎么怎么的
break
done 这里unexpected
# 按选择
case "$mode" in
"手动")
echo "输入目标文件夹"
read var # 手动输入目的地
[ -f $var ] || mkdir $var;; # 不存在创建
"桌面")
var="~/Desktop";; esac
copy()
{
cp -r $* $var #不知这儿用$*行不行
}
cat temp|copy #还有这儿,这种参数传递方法能否使用
rm temp #收尾
exit 0 #0与1的差别?

注释掉那些以后执行,cp出问题,说目的文件夹怎么怎么

我这点问题学得扎实点的新手都应该知道吧,要骂我的懒啊急功近利啊的朋友就Alt+左箭头算了


最后由 ignorance 编辑于 2007-08-30 18:53,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-08-30 17:39 
头像

注册: 2006-05-19 21:42
帖子: 184
地址: NIT
送出感谢: 0 次
接收感谢: 0 次
Alt+<-原来可以这样用 谢谢lz :)


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-08-30 17:43 
头像

注册: 2006-04-12 20:05
帖子: 8495
地址: 杭州
送出感谢: 0 次
接收感谢: 8
alinmn 写道:
Alt+<-原来可以这样用 谢谢lz :)

晕。。。


_________________
关注我的blog: ε==3


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-08-30 21:23 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
送你一个方法。


附件:
screenshot-2007-08-30-21-22-50.png
screenshot-2007-08-30-21-22-50.png [ 158.85 KiB | 被浏览 985 次 ]



_________________
● 鸣学
页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2007-08-31 0:20 
头像

注册: 2007-01-15 17:15
帖子: 3766
送出感谢: 0 次
接收感谢: 0 次
代码:
#!/bin/bash
find ~/temp/test -type f -mmin -10 > temp
echo "Select Mode ..."

select mode in  "手动" "桌面" ;
do
  break;
done
case "$mode" in
"手动")
   echo "输入目标文件夹"
   read var
[ -f $var ] || mkdir $var
;;
"桌面")
   var="/home/iblicf/Desktop"
;;
esac
copy()
{
cp -r $s $var ;
}

s=`cat temp`
copy
rm temp

exit 0


稍改了一下,函数的参数调用$* 可以么,? $*应该是全局的吧,不清楚,明天再看看,困了睡


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2007-09-09 0:54 
头像

注册: 2006-05-03 0:39
帖子: 8273
地址: المريخ
送出感谢: 0 次
接收感谢: 1
alinmn 写道:
Alt+<-原来可以这样用 谢谢lz :)


_________________
PHP是最好的语言!不服来战!


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2007-09-12 21:16 
头像

注册: 2007-03-24 23:45
帖子: 2357
送出感谢: 0 次
接收感谢: 9
$*不是全局的,在函数里的话就是函数的参数


页首
 用户资料  
 
8 楼 
 文章标题 : 我也刚开始学shell
帖子发表于 : 2007-09-19 23:52 

注册: 2007-05-22 10:48
帖子: 33
送出感谢: 0 次
接收感谢: 0 次
#!/bin/sh
# 复制~/Desktop/test下的新文件到桌面或其他某处
find ~/Desktop/test -mmin 10 >temp # 这里最好加 -type f ,表示是regular file

echo "Select Mode"

select mode in "手动" "桌面"; do # 这里好像没什么问题啊
break
done

case "$mode" in
"手动")
echo "输入目标文件夹"
read var # 手动输入目的地
[ -f $var ] || mkdir $var;; # 这里应该用-d $var,-f是针对文件的,-d是看目录是不是存在,mkdir最好加参数-p,表示递归地创建
"桌面")
var="~/Desktop";; esac
copy()
{
cp -r $* $var #不知这儿用$*行不行
}
cat temp|copy #这里这样用是不行的,需要用xargs,用函数我没有成功,不过可以直接用 cat temp | xargs cp -t $var
rm temp #收尾
exit 0 #0是反馈给系统的,0表示成功,其他表示异常,可以在脚本运行完以后用echo $?来查看


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译