
SHELL知识集
edei2004
这个作者很懒,什么都没留下…
展开
-
如何用shell脚本实现自动telnet
很多人认为telnet象passwd和su一样,无法通过管道和输入转向使其自动工作,但实际上telnet是支持输入转向的.虽然,严格的说,shell脚本无法使telnet进入交互状态,但它确实可你使你进入远程系统并运行你希望的命令后退出.这远比用rsh(remsh,rcmd)更令人放心,使用如下的脚本可以达到你的要求: (sleep 1;echo user;sleep 1; echo passwd原创 2009-01-03 16:54:00 · 29968 阅读 · 4 评论 -
shell语法之case
case的语法格式如下: case var in exp-1) 命令体1 ;; exp-2) 命令体2 ;; ... *) 命令体 ;;shell通过计算变量var的值,将其结果依次和运算式exp-1, exp-2等进行比较,直到找到一个匹配的运算式为止。如果找到了匹配项,则执行它原创 2009-01-03 16:52:00 · 9644 阅读 · 0 评论 -
关于循环读取文本中分隔符的问题
平时对于一个文件,我们使用如下命令: cat file | while read p1 p2 p3..... 这样是按文本中空格来分隔每一个字段的. 若一段文本中的分隔符为其它字符如"%".或其它时这时就要引入IFS变量设置了. 文本如下: aaaa%bbbb%cccc 命令为: echo "aaaa%bbbb%cccc" | IFS=原创 2009-01-03 16:53:00 · 1380 阅读 · 0 评论 -
关于SHELL中一些特殊的$打头的特殊变量
$0 脚本的执行名字 $n 脚本的第n个参数值,n=1..9 $* 脚本的所有参数 $@ 脚本的所有参数(与$*有共同点,也有不同点) $# 脚本的参数个数 $$ 脚本执行时的PID $! 执行上一个背景指令的PID $? 执行上一个指令的返回值 当你执行脚本时所带参数数目超过9 个时,可以使用shift 命令将参数往前移一格,如此即可使用第10个以后的参数。除此之原创 2009-01-03 16:53:00 · 547 阅读 · 0 评论 -
shell中进制的转换
十六进制转十进制echo $((16#10)) --16八进制转十进制echo $((8#10)) --8二进制转十进制echo $((2#10)) --2十进制转十六进制printf "%x" "10" --a十进制转八进制printf "%o" "8" --10原创 2009-01-07 18:52:00 · 1202 阅读 · 0 评论