急急急求大神解答linux shell编程问题???? 都看不懂这是什么意思,能不能解释一下呢? 50

 我来答
寒气袭人ht
2016-07-19 · TA获得超过586个赞
知道小有建树答主
回答量:341
采纳率:0%
帮助的人:279万
展开全部
1. num=10 ## number of files to print 输出的行数
2. short=0 ## set to 1 for short listing 短格式显示
3. timestyle='--time-style="+ %d-%b-%Y %H:%M:%S "' ## GNU-#specific time format
时间、日期格式(10-May 2012-07:57:17)
4. opts=Aadn:os 6个选项(-A -a -d -n -o -s),其中-n跟参数(显示行数)
5. while getopts $opts opt 读入每一个选项
6. do
7. case $opt in
8. a|A|d) ls_opts="$ls_opts -$opt" ;; ## options passed to ls
选项a/A/d直接加入到选项串中
9. n) num=$OPTARG ;; ## number of files to display
选项n,将后面的参数赋给num
10. o) ls_opts="$ls_opts -r" ;; ## show oldest files, not newest
选项o,将-r加入到选项串(对应ls命令中的反向排序)
11. s) short=$(( $short + 1 )) ;;
选项s,将short值加1(short由假变真)
12. esac
13. done
14. shift $(( $OPTIND - 1 ))
将命令行参数左移参数数量个位置(-A -a -d -n -o -s等),后面的$@将取选项后面的全部参数(要显示的目录、文件列表)。
15. case $short in
16. 0) ls_opts="$ls_opts -l -t" ;; ## long listing, use -l
short为假,ls参数列表加入-t选项(有-t,-l无效)
17. *) ls_opts="$ls_opts -t" ;; ## short listing, do not use -l
short为假,ls参数列表加入-l选项(长格式)
18. esac
19. ls $ls_opts $timestyle "$@" | { 以前面生成的参数列表及时间格式参数显示脚本要打印的文件或目录(没有目录参数,即$@为空时,显示当前目录下的文件列表)
20. read ## In bash, the same as: IFS= read -r REPLY
读入第一行到REPLY
21. case $line in line没有赋值,这里应该是REPLY吗
22. total*) ;; # ??? 行首匹配total不处理
23. *) printf "%s\n" "$REPLY" ;; 否则打印此行(短格式时)
24. esac
25. cat 显示其余行
26. } | head –n $num 只显示前num行

这个脚本就是以一定格式显示文件(目录列表),对于整个列表字节数这行做特殊处理。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式