一.内部命令与内建命令1.内建命令指的是包含在Bash工具包中的命令,从字面上看就是built in,主要是考虑到执行效率的问题。内建命令比外部命令执行的更快,一部分原因是外部命令通常都fork出一个子进程来执行,另一部分原因是特定的内建命令可以直接访问shell的内核部分。2.值得注意的是一个内建命令通常会与一个系统命令同名,但是Bash内部重新实现了这些命令,但是他们在大多数情况下是一样的3.关键字就是保留字,具有特殊含义,并用来构建shell语法结构。4.(1)echo -n "\v\v\v" #result: \v\v\v -n选项不换行(2)echo -e &qu Read More
posted @ 2011-03-17 16:01 xdzone Views(489) Comments(0) Diggs(0) Edit
方法一:.添加encoding支持(1)ubuntu的Applications菜单中默认没有配置编辑器选项,首先添加,系统-》首选项-》主菜单-》系统工具,选中配置编辑器(2)这是应用程序菜单中就有了配置编辑器apps——gedit-2——preferences——encodings。双击右边的“auto_detected”——点“添加”按钮——输入新列表值:“GB18030”并确定。并up到第一项,完成方法二 编写脚本 1 #!/bin/bash 2 <<HELP 3 The script is used to change a dos text file 4 to a unix Read More
posted @ 2011-03-17 12:30 xdzone Views(792) Comments(0) Diggs(1) Edit
原文地址:http://www.ibm.com/developerworks/cn/linux/l-linux-filesystem/Linux 文件系统剖析按照分层结构讨论 Linux 文件系统M. Tim Jones, 顾问工程师, Emulex Corp.简介:在文件系统方面,Linux® 可以算得上操作系统中的 “瑞士军刀”。Linux 支持许多种文件系统,从日志型文件系统到集群文件系统和加密文件系统。对于使用标准的和比较奇特的文件系统以及开发文件系统来说,Linux 是极好的平台。本文讨论 Linux 内核中的虚拟文件系统(VFS,有时候称为虚拟文件系统交换器),然后介绍将 Read More
posted @ 2011-03-16 22:16 xdzone Views(575) Comments(0) Diggs(0) Edit
一:循环和分支1.for planet in "Mercury 36" "Venus 67"do set --$planet echo "$1 $2,000,000 miles from sun"doneexit 02.当一个for循环中忽略in [list]部分,将会使循环操作$@3.使用命令替换来产生循环的【list】NUMBERS=“9 8 7 5”for number in `echo $NUMBER`4.C风格for循环for ((a=1,b=1;a<LIMIT;a++,b++));doecho -n "$a Read More
posted @ 2011-03-16 20:33 xdzone Views(240) Comments(0) Diggs(0) Edit
该章从第九章变量访问开始一.内部变量1.内建变量 $FUNCNAME,当前函数的名字func(){echo "$FUNCNAME" #func}2.$IFS内部字段分割符当shell读取输入时,它给出来分割单词的一组字符,它通常是空格,制表符和换行符。$* 所有的参数用环境变量$IFS的第一个字符分割开$@则不是用$IFS中的字符分割变量。3.$LINENO表示在脚本中该变量出现时的所在的行数4.$SECONDS脚本已运行的秒数,sleep num ,程序停止num秒5.$TMOUT,经错$TMOUT后,shell提示符会超时,这将使此shell退出登录6.在使用$*时一定 Read More
posted @ 2011-03-15 21:49 xdzone Views(737) Comments(0) Diggs(0) Edit
stty时一个用来改变并打印终端行设置的常用命令1,在命令行下,禁止输出大写的方法 stty iuclc #开启stty -iuclc #恢复2,在命令行下禁止输出小写stty olcuc #开启stty -olcuc#恢复3,打印出终端的行数和列数stty size4,改变ctrl+D的方法:stty eof "string"系统默认是ctrl+D来表示文件的结束,而通过这种方法,可以改变! 5,屏蔽显示stty -echo #禁止回显stty echo #打开回显测试方法:stty -echo;read;stty echo;read6,忽略回车符stty igncr # Read More
posted @ 2011-03-15 15:56 xdzone Views(6651) Comments(0) Diggs(0) Edit
1.eval命令将会首先扫描命令行进行所有的替换,憨厚再执行命令。该命令使用于那些一次扫描无法实现其功能的变量。该命令对变量进行两次扫描。这些需要进行两次扫描的变量有时候被称为复杂变量。2.eval也可以用于回显简单变量,不一定时复杂变量。NAME=ZONEeval echo $NAME等价于echo $NAME3.两次扫描test.txt内容:hello shell world!myfile="cat test.txt"(1)echo $myfile #result:cat test.txt(2)eval echo $myfile #result:hello shell Read More
posted @ 2011-03-15 15:46 xdzone Views(12245) Comments(0) Diggs(0) Edit
1.我们可以使用trap命令来忽略或者回复系统信号对当前脚本的影响。忽略:trap "" SIGHUP SIGINT 或trap "" 1 2恢复:trap SIGHUP SIGINT 或 trap : 1 22.stty -a 可以列出中断信号与键盘的对应3.可以项C语言中的signal一样在shell中用trap定义我们自己的信号处理程序trap "echo 'recieve SIGINT'" SIGINTtrap funcname SIGINT4.Linux信号简介1) SIGHUP本信号在用户终端连接(正常或非 Read More
posted @ 2011-03-15 15:07 xdzone Views(4214) Comments(0) Diggs(0) Edit
内容范围:第五章 引用开始1.echo $(ls -l)#输出结果没有换行echo "$(ls -l)"#不会去掉换行符2.退出码(1)exit num(num必须是一个0-255范围的十进制整数)(2)如果一个脚本以不带参数的exit命令结束,脚本的退出码将是执行exit命令前的最后一个命令的退出码(3)没有exit,exit 没退出码和exit $?三者时等价的(4)当一个函数返回时,$?保存了函数里最后一个命令的退出码,当一个脚本结束时,保存了脚本的退出码。3.逻辑非(!)! true ;echo $? #result:1 注意!后面的空格去掉空格后输出true4.( Read More
posted @ 2011-03-14 21:45 xdzone Views(567) Comments(0) Diggs(0) Edit
原文地址:http://dev.firnow.com/course/6_system/linux/Linuxjs/20071027/80454.htmlexec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息。bash shell的命令分为两类:外部命令和内部命令。外部命令是通过系统调用或独立的程序实现的,如sed、awk等等。内部命令是由特殊的文件格式(.def)所实现,如cd、history、exec等等。在说明exec和source的区别之前,先说明一下fork的概念。fork是l Read More
posted @ 2011-03-14 20:55 xdzone Views(1781) Comments(0) Diggs(0) Edit