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 · 1058 阅读 · 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 · 646 阅读 · 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 · 2627 阅读 · 0 评论 -
Regexp -WiKi
字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“n”匹配字符“n”。“\n”匹配一个换行符。串行“\\”匹配“\”而“\(”则匹配“(”。 ^ 匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。 $ 匹配输入字符串的结束位置。如果设置了转载 2012-08-25 22:22:55 · 477 阅读 · 0 评论 -
find / ls / grep /Emacs regexp 区别 及Meta
1:文件名的生成 在Linux中有很多适用文件作为命令参数,我们可以通过通配符进行文件名的生成。注意[...]形式,是取出其所列范围中的一个,然后只要符合就行。 注意ls / find 与 grep 中的通配符是有区别的,因为前两个命令都是针对文件名 而grep是针对的文件中内容的匹配。 下面这个列表是针对文件名匹配的时候的匹配模式 * 在文件名匹配表示的是匹配任何数量的字符或字符串,而不原创 2012-08-15 18:41:43 · 1378 阅读 · 0 评论 -
浅谈lisp与shell中转义字符和正则表达 (一)
转义本身包含两个层次的含义:特殊字符--> 普通字符 普通字符-->具有特殊含义。转义字符为\ 具有特殊含义的元字符"" "$" "\" "|" "&" "*" "?" ,可以通过转义字符\,单引号,双引号使它去掉特殊含义。 普通字符通过转义字符具有特殊含义,\n 表换行。\e 表esc字符 对于string的值,它会在碰见\的时候,将有特殊含义的字符转义为一原创 2012-08-15 18:43:20 · 2423 阅读 · 0 评论 -
变量转换二
把关于用户变量的总结了一下(本来想再发一个,不过那就有灌水之疑,所以就发在下面了),现完整给出,希望对大家有帮助: 1) 赋值“=”和扩充变量值 在设定变量的时侯,得遵守如下规则: * 等号左右两边不能使用区隔符号(IFS),也应避免使用 shell 的保留字符(meta charactor)。 * 变量名称不能使用 $ 符号。 * 由字母和下划线组成,并且变量名称的第一个转载 2012-08-18 18:08:36 · 939 阅读 · 0 评论 -
基础
在linux中很少利用扩展名决定文件类型,你可以为脚本使用.sh,但是shell不关心。检查文件是否是脚本程序最好方法是用file命令,如:file first或 file/bin/bash 如果你有了脚本,运行它有两种方法, 1:调用shell,并把文件名当成一个参数. $/bin/sh first 2:chmod +x file将文件设置为可执行,然后直接调用。但是有个问题就是如何让原创 2012-08-18 19:31:03 · 319 阅读 · 0 评论 -
$@ 与 $*的区别
他们两个都是内部变量,并且都是指代所有的参数。 $* 引用的时候 $* 表示$1 $2 $3... ; "$*" 表示"$1$2$3$4" 各个参数使用IFS中第一个字符分开,如果IFS变了,分割参数方式也就变了。 $@ 引用的时候 $@ 表示$1 $2 $3... ; "$@" 表示"$1" "$2" "$3"它是 $*的变形,不用IFS,即使IFS为空,参数也不会挤在一块。 一般情况原创 2012-08-16 15:00:42 · 435 阅读 · 0 评论 -
shell
shell 是用户与Linux内核进行联系的桥梁,Linux通过shell界面接受用户需求,提供相应的服务。 下面是百度百科中关于shell的解释: 基本上shell分两大类: 一:图形界面shell(Graphical User Interface shell 即 GUI shell) 例如:应用最为广泛的 Windows Explorer (微软的windows系列制作系统),还原创 2012-08-16 00:36:32 · 277 阅读 · 0 评论 -
变量的引用与替换
引用变量中的数值称作变量替换。 引用变量主要有下面3种形式: $variable; 实际上是下面一种的简化 ${variable}; "$variable"或"${variable}"与前面相比,多了一对引号 下面的情况下,引用变量时无需在变量名字钱加$前缀: $ variable=100 #赋值语句 赋值是等号两边不能有空格 $ export PS1 #u原创 2012-08-18 10:20:13 · 556 阅读 · 0 评论 -
变量的变换
设置就是声明, $ echo hello 值为hello.这个跟lisp中不一样。这里面的符号的值就是本身,或者你可以给这个符号赋值。 1.条件变量替换: Bash Shell可以进行变量的条件替换,既只有某种条件发生时才进行替换,替换条件放在{}中. (1) ${var:-value} 当变量未定义或者值为空时,返回值为value的内容,否则返回变量的值. (2) ${v原创 2012-08-18 14:24:32 · 926 阅读 · 0 评论 -
shell 中内部变量和环境变量
内部变量主要是为shell编程提供支持 # $#命令行参数或位置参数的数量 ? $?最近执行的一次命令或脚本的出口状态 $ $$shell脚本的进程ID ! $!最近运行后台进程的PID * $@ 与 $*的区别 @ $@ 与 $*的区别 OLDPWD 用cd到所建目录之前的路径,路径必须是发生过改变才有值 OPTARG getopts 命令已经处理的前一个原创 2012-08-16 16:17:56 · 959 阅读 · 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 · 375 阅读 · 0 评论