当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [问题]请教一个Shell脚本中的问题
帖子发表于 : 2007-12-25 21:31 

注册: 2007-01-31 1:26
帖子: 84
送出感谢: 0 次
接收感谢: 0 次
#!/bin/bash
#tr_case
FILES=""
TRCASE=""
EXT=""
OPT=no

error_msg()
{
_FILENAME=$1
echo "`basename $0` :Error the conversion failed on $_FILENAME"
}

if [ $# -eq 0 ]
then
echo "For more info try `basename $0` --help"
exit 1
fi
while [ $# -gt 0 ]
do
case $1 in
-u) TRCASE=upper
EXT=".UC"
OPT=yes
shift
;;
-l) TRCASE=lower
EXT=".LC"
OPT=yes
shift
;;
-help) echo "convert a file(s) to uppercase from lowercase"
echo "convert a file(s) from lowercase to uppercase"
echo "will convert all characters according to the"
echo "specified command option"
echo "-l convert to lowercase"
echo "-u convert to uppercase"
echo "The original file(s) is not touched. A new file(s)"
echo "will be created with eicher a .UC or .LC extension"
echo "usage: $0 -[l|u] file [file..]"
exit 0
;;
-*) echo "usage: `basename $0` -[l|u] file [file..]"
exit 1
;;
*) if [ -f $1 ]
then
FILES=$FILES" "$1 ==================================>如何解释?
else
echo "`basename $0`:Error cannot find the file $1"
fi
shift
;;
esac

done

if [ "$OPT" = "no" ]; then
echo "`basename $0`:Error you need to specify an option. No action taken"
echo "try `basename $0` --help"
exit 1
fi

for LOOP in $FILES
do
case $TRCASE in
lower) cat $LOOP |tr "[A-Z]" "[a-z]" >$LOOP$EXT
if [ $? != 0 ];then
error_msg $LOOP
else
echo "converted file called $LOOP$EXT"
fi
;;
upper) cat $LOOP |tr "[a-z]" "[A-Z]" >$LOOP$EXT
if [ $? != 0 ];then
error_msg $LOOP
else
echo "converted file called $LOOP$EXT"
fi
;;
esac
done


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-12-26 9:09 
头像

注册: 2006-04-12 20:05
帖子: 8495
地址: 杭州
送出感谢: 0 次
接收感谢: 8
FILES=$FILES" "$1
就是在 FILES 这个变量后面加个空格,再加上 $1 ,然后把结果再赋值给 FILES


_________________
关注我的blog: ε==3


页首
 用户资料  
 
3 楼 
 文章标题 : 再问?
帖子发表于 : 2007-12-26 21:44 

注册: 2007-01-31 1:26
帖子: 84
送出感谢: 0 次
接收感谢: 0 次
echo $FILES 后没有值,是什么回事?能不能连接上下文说的细一点?


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-12-26 22:09 
头像

注册: 2007-01-15 17:15
帖子: 3766
送出感谢: 0 次
接收感谢: 0 次
? FILES=$FILES" "$1 是要默认处理某些文件+参数输入的文件 ... 因为 FILES="" 是初始化的 , 所以只处理参数输入的文件 ...

比如 : 如果 FILES="b" 初始化的 , 那么
代码:
./tr_case -u c
converted file called b.UC
converted file called c.UC


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

当前时区为 UTC + 8 小时


在线用户

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


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

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

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