Chinaunix

标题: 谁见过这些 ksh [打印本页]

作者: ETKH    时间: 2008-06-23 20:04
标题: 谁见过这些 ksh
clean.ksh -sh
clean.ksh -eht
clean.ksh -h  
clean.ksh -ht
clean.ksh -h
clean.ksh -d


   看见单位的一个sh里面被反复调用,但是跟的参数都不相同,谁能解释一下
作者: walkerxk    时间: 2008-06-23 20:33
if+$1就可以了,我的脚本一般都是这样的。
作者: ETKH    时间: 2008-06-23 20:52
原帖由 walkerxk 于 2008-6-23 20:33 发表
if+$1就可以了,我的脚本一般都是这样的。



   什么意思,没有看明白阿,能说一下为什么一个sh用这么多不同的参数表示什么意思吗?
作者: dlms    时间: 2008-06-23 21:07
原帖由 ETKH 于 2008-6-23 20:52 发表



   什么意思,没有看明白阿,能说一下为什么一个sh用这么多不同的参数表示什么意思吗?

if [ ! -f $1 ] ; then
   echo " source file [ $1 ] does not exist!"
   exit
fi
作者: walkerxk    时间: 2008-06-23 21:16
if [[ "$1" = "cp" ]];then cp a b;fi
if [[ "$1" = "mv" ]];then mv a b;fi
if [[ "$1" = "rm" ]];then rm a b;fi
if [[ "$1" = "touch" ]];then touch a b;fi
作者: 寂寞烈火    时间: 2008-06-23 23:15
通俗的说就是这样的
case $1 in
...) cmd;;
...
esac
作者: ETKH    时间: 2008-06-24 00:34
原帖由 walkerxk 于 2008-6-23 21:16 发表
if [[ "$1" = "cp" ]];then cp a b;fi
if [[ "$1" = "mv" ]];then mv a b;fi
if [[ "$1" = "rm" ]];then rm a b;fi
if [[ "$1" = "touch" ]];then touch a b;fi



-sh
-eht
-h  
-ht
-h
-d

  这个表示什么意思,你知道吗?
作者: 寂寞烈火    时间: 2008-06-24 00:45
原帖由 ETKH 于 2008-6-24 00:34 发表



-sh
-eht
-h  
-ht
-h
-d

  这个表示什么意思,你知道吗?

这些都应该是ksh的option吧!  $- 保留了你当前ksh的默认选项
作者: walkerxk    时间: 2008-06-24 01:50
原帖由 ETKH 于 2008-6-24 00:34 发表



-sh
-eht
-h  
-ht
-h
-d

  这个表示什么意思,你知道吗?

cp和-sh有区别么?我可以定一个函数,参数为1的时候cp,2的时候mv,3的时候touch,4的时候rm……
作者: ETKH    时间: 2008-06-24 11:28
原帖由 walkerxk 于 2008-6-24 01:50 发表

cp和-sh有区别么?我可以定一个函数,参数为1的时候cp,2的时候mv,3的时候touch,4的时候rm……


   也就是说这个-eht 有可能是CP,也有可能是TOUCH,也有可能是RM等等,主要是看函数里面是怎么定义的
作者: walkerxk    时间: 2008-06-24 12:51
是的,纠正一下,上面的应该是脚本,不是函数。
作者: walkerxk    时间: 2008-06-24 12:53
不过如果用$1来处理的话比较麻烦,特别是ps -fe、ps -f -e、ps -e -f、ps -ef,好像有个命令直接可以处理的,不过我忘了,你可以找烈火或者waker问一下。
作者: rishairu    时间: 2008-06-24 13:54
其实就是参数,只不过定义成了那个样子




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2