随笔分类 -  Shell

摘要:eval、:、type find xargs expr bc 阅读全文

posted @ 2011-10-04 14:38 道明一腾 阅读(126) 评论(0) 推荐(0) 编辑 |

摘要:文本过滤器 过滤文本的命令 head tail grep sort uniq tr 用正则表达式过滤文本 awk和sed的调用语法是:cmd `script` files 阅读全文

posted @ 2011-10-04 14:22 道明一腾 阅读(268) 评论(0) 推荐(0) 编辑 |

摘要:语法点: 别名和函数的区别 范围、递归、返回值和数据共享 阅读全文

posted @ 2011-10-04 13:42 道明一腾 阅读(120) 评论(0) 推荐(0) 编辑 |

摘要:getopts option-string var getopts对命令行中给出的选项进行解析的步骤 使用getopts 先写一个脚本来简化对文件的uuencode流程 uuencode这个脚本其实是一个最早用来将二进制文件(可执行文件)编码成ASCII文本的程序。。。 #!/bin/shUSAGE="Usage: 'basename$0' [-v] [-f] [filename] [-o] [filename]";VERBOSE=falsewhile getopts f:o:v OPTION;do case "$OPTION" in f 阅读全文

posted @ 2011-10-04 13:37 道明一腾 阅读(289) 评论(0) 推荐(0) 编辑 |

摘要:可以将上次的程序改为:USAGE ="Usage: $0 [-c|-t] [file|directory] "case $1 in -t) TARGS="-tvf $2";; -c) TARGS="-cvf $2.tar $2";; *) echo "$USAGE" exit 0 ;;esac使用basename事实上只需要脚本的名称,我们可以通过命令basename来更正这个问题常用变元处理问题if [ $# -lt 2 ]; then echo "$USAGE" exit 1;fi处理附加文 阅读全文

posted @ 2011-10-01 15:58 道明一腾 阅读(127) 评论(0) 推荐(0) 编辑 |

摘要:具体理论概述下次加上,这里先写程序:#!/bin/shcase $0 in *listtar) TAGS="-tvf $1" ;; *maketar) TAGS="-cvf $1.tar $1" ;;esactar $TARGS$ln –s mytar listtar $ln –s mytar maketar使用声明echo “Usage: $0 [options][files] ” 阅读全文

posted @ 2011-10-01 14:56 道明一腾 阅读(107) 评论(0) 推荐(0) 编辑 |

摘要:就两个命令—break continue 没什么好讲得 注意点的是break可以接受一个整数作为参数,标记这退出循环的层数。 阅读全文

posted @ 2011-10-01 14:23 道明一腾 阅读(153) 评论(0) 推荐(0) 编辑 |

摘要:select COMPONENT in comp1 comp2 comp3 all nonedo case $COMPONENT in comp1|comp2|comp3) Compconfig $COMPONET;; all) comconf;; none) break;; *) echo "erro";; esacdone改变提示符 PS3 阅读全文

posted @ 2011-10-01 14:20 道明一腾 阅读(129) 评论(0) 推荐(0) 编辑 |

摘要:for i in 0 1 2do echo $ idone操作一组文件for FILE in $HOME/.bash*do cp $FILE $(HOME)/public_html chmod a+r $(HOME)/public_html/$(FILE)done 阅读全文

posted @ 2011-10-01 14:10 道明一腾 阅读(109) 评论(0) 推荐(0) 编辑 |

摘要:RESPONSE=while [ -z "$RESPONSE" ];do184 Hour 1215 3583 ch12 2/26/02 12:16 PM Page 184read RESPONSEif [ ! -d "$RESPONSE" ] ; then echo "ERROR: Please enter a directory pathname ." RESPONSE=fidone上面的程序是判断输入是否为目录。输入重定向和while:while read LINEdo case $LINE in *root*) echo $LI 阅读全文

posted @ 2011-10-01 10:23 道明一腾 阅读(105) 评论(0) 推荐(0) 编辑 |

摘要:下面是一个用while循环来显示从0到9的例子: x=0while [ $x -lt 10 ]do echo sx x='expr $x+1'done 阅读全文

posted @ 2011-09-30 18:23 道明一腾 阅读(226) 评论(0) 推荐(0) 编辑 |

摘要:FRUIT=kiwicase "$FRUIT" in apple) echo "AAA" ;; banana) echo "bbb";; kiwi) echo "kkk";;esac第二个例子case $- in *i*) #an interactive shell PS1="...";esac专用变量$-是一个包含了所有shell选项的列表。检查$-是否包含字母i是判断shell是运行在交互模式下还是非交互模式下的最简单的方法。 阅读全文

posted @ 2011-09-30 10:55 道明一腾 阅读(171) 评论(0) 推荐(0) 编辑 |

摘要:if [ $? -eq 0 ] ; then echo "Command was successful";else echo "An error was encountered";exitfi上一条命令的退出状态保存在变量$?中。记住退出代码为0表示成功。附上:四、流控制 if语句 文件测试 字符串比较 数字比较 复合表达式 case语句 case word in pattern1) ... 阅读全文

posted @ 2011-09-30 10:40 道明一腾 阅读(189) 评论(0) 推荐(0) 编辑 |

摘要:最近一直忙着面试,闲暇之余想看下SHELL和Perl编程,增加下自己的身价。 SHELL和Perl的小语法点比较多,看了容易忘。所以我就一边写程序,一边巩固知识点吧。先从SHELL开始,先讲前面3章。Sriranga Veeraraghavan的《精通SHELL编程》的读书笔记。 shell编程 一、变量 1变量的操作 1.1标量变量 name=value FRUIT=peach 带空格的变量值需要用引号引起来。 访问变量 $echo $FRUIT 1.2数组变量 建立数组 ... 阅读全文

posted @ 2011-09-30 10:31 道明一腾 阅读(163) 评论(0) 推荐(0) 编辑 |

Copyright © 2024 道明一腾
Powered by .NET 8.0 on Kubernetes