shell编程
文章平均质量分 69
ryuali2010
这个作者很懒,什么都没留下…
展开
-
linux中PS1的设置
去~/.bashrc中,找到PS1变量的定义,如果没有,手动加上:可以将显示输出到标题栏上:#export PS1="\[\e]2;\u@\H \w\a\e[32;1m\]>\[\e[0m\]"最常见的设置,粉红色的:#export PS1="\[\e[35;1m\][\u@\h \W]$>\[\e[0m\]"绿色的:export PS1="\[\e[32;转载 2012-08-18 09:41:57 · 1070 阅读 · 0 评论 -
Meta-Character and regexp
Regular expressions use meta-characters. The shells also have meta-characters.Meta-characters are simply characters that have a special meaning.The problem occurs when you want to use a regular expres原创 2012-08-25 18:55:54 · 659 阅读 · 0 评论 -
浅谈lisp与shell中转义字符和正则表达 (二)
正则表达式:我们应该也都了解一些正则表达式在Unix shell中的用法,但是还是有点区别,it is similar to those used by the language Perl, editors like ed and vi and Unix software tools like lex and grep.program.* 在Emacs中表示以program开头的程序,而在Un原创 2012-08-25 10:47:21 · 2644 阅读 · 0 评论 -
Regexp -WiKi
字符描述\将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“n”匹配字符“n”。“\n”匹配一个换行符。串行“\\”匹配“\”而“\(”则匹配“(”。^匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。$匹配输入字符串的结束位置。如果设置了转载 2012-08-25 22:22:55 · 491 阅读 · 0 评论 -
find / ls / grep /Emacs regexp 区别 及Meta
1:文件名的生成在Linux中有很多适用文件作为命令参数,我们可以通过通配符进行文件名的生成。注意[...]形式,是取出其所列范围中的一个,然后只要符合就行。注意ls / find 与 grep 中的通配符是有区别的,因为前两个命令都是针对文件名 而grep是针对的文件中内容的匹配。下面这个列表是针对文件名匹配的时候的匹配模式* 在文件名匹配表示的是匹配任何数量的字符或字符串,而不原创 2012-08-15 18:41:43 · 1395 阅读 · 0 评论 -
浅谈lisp与shell中转义字符和正则表达 (一)
转义本身包含两个层次的含义:特殊字符--> 普通字符 普通字符-->具有特殊含义。转义字符为\具有特殊含义的元字符"" "$" "\" "|" "&" "*" "?" ,可以通过转义字符\,单引号,双引号使它去掉特殊含义。普通字符通过转义字符具有特殊含义,\n 表换行。\e 表esc字符对于string的值,它会在碰见\的时候,将有特殊含义的字符转义为一原创 2012-08-15 18:43:20 · 2441 阅读 · 0 评论 -
变量转换二
把关于用户变量的总结了一下(本来想再发一个,不过那就有灌水之疑,所以就发在下面了),现完整给出,希望对大家有帮助: 1) 赋值“=”和扩充变量值 在设定变量的时侯,得遵守如下规则: * 等号左右两边不能使用区隔符号(IFS),也应避免使用 shell 的保留字符(meta charactor)。 * 变量名称不能使用 $ 符号。 * 由字母和下划线组成,并且变量名称的第一个转载 2012-08-18 18:08:36 · 953 阅读 · 0 评论 -
基础
在linux中很少利用扩展名决定文件类型,你可以为脚本使用.sh,但是shell不关心。检查文件是否是脚本程序最好方法是用file命令,如:file first或 file/bin/bash如果你有了脚本,运行它有两种方法,1:调用shell,并把文件名当成一个参数. $/bin/sh first2:chmod +x file将文件设置为可执行,然后直接调用。但是有个问题就是如何让原创 2012-08-18 19:31:03 · 334 阅读 · 0 评论 -
$@ 与 $*的区别
他们两个都是内部变量,并且都是指代所有的参数。$* 引用的时候 $* 表示$1 $2 $3... ; "$*" 表示"$1$2$3$4" 各个参数使用IFS中第一个字符分开,如果IFS变了,分割参数方式也就变了。$@ 引用的时候 $@ 表示$1 $2 $3... ; "$@" 表示"$1" "$2" "$3"它是 $*的变形,不用IFS,即使IFS为空,参数也不会挤在一块。一般情况原创 2012-08-16 15:00:42 · 443 阅读 · 0 评论 -
shell
shell 是用户与Linux内核进行联系的桥梁,Linux通过shell界面接受用户需求,提供相应的服务。下面是百度百科中关于shell的解释:基本上shell分两大类: 一:图形界面shell(Graphical User Interface shell 即 GUI shell) 例如:应用最为广泛的 Windows Explorer (微软的windows系列制作系统),还原创 2012-08-16 00:36:32 · 289 阅读 · 0 评论 -
变量的引用与替换
引用变量中的数值称作变量替换。引用变量主要有下面3种形式:$variable; 实际上是下面一种的简化${variable};"$variable"或"${variable}"与前面相比,多了一对引号下面的情况下,引用变量时无需在变量名字钱加$前缀:$ variable=100 #赋值语句 赋值是等号两边不能有空格$ export PS1 #u原创 2012-08-18 10:20:13 · 573 阅读 · 0 评论 -
变量的变换
设置就是声明,$ echo hello 值为hello.这个跟lisp中不一样。这里面的符号的值就是本身,或者你可以给这个符号赋值。1.条件变量替换:Bash Shell可以进行变量的条件替换,既只有某种条件发生时才进行替换,替换条件放在{}中.(1) ${var:-value} 当变量未定义或者值为空时,返回值为value的内容,否则返回变量的值.(2) ${v原创 2012-08-18 14:24:32 · 971 阅读 · 0 评论 -
shell 中内部变量和环境变量
内部变量主要是为shell编程提供支持# $#命令行参数或位置参数的数量? $?最近执行的一次命令或脚本的出口状态$ $$shell脚本的进程ID! $!最近运行后台进程的PID* $@ 与 $*的区别@ $@ 与 $*的区别OLDPWD 用cd到所建目录之前的路径,路径必须是发生过改变才有值OPTARG getopts 命令已经处理的前一个原创 2012-08-16 16:17:56 · 965 阅读 · 0 评论 -
Regexp
Remember that shell meta-characters are expanded before the shell passes the arguments to the program. To prevent this expansion, the special characters in a regular expression must be quoted when pas原创 2012-08-25 21:52:59 · 387 阅读 · 0 评论