- 浏览: 775898 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (258)
- J2SE (18)
- J2EE (33)
- AJAX (4)
- JQuery (1)
- DWR (3)
- Linux/Unix (32)
- PHP (1)
- JSF (8)
- Oracle (34)
- JavaScript (17)
- 批处理 (13)
- ASP (7)
- VBScript (3)
- SqlServer (9)
- Ant (1)
- JDBC (1)
- XML (0)
- MySql (0)
- hibernate (9)
- windows (6)
- .net (0)
- 测试 (2)
- 汇编 (2)
- 网络 (13)
- 其它 (11)
- IDE工具 (6)
- freemarker (4)
- 存储过程 (1)
- 生活 (9)
- python (11)
最新评论
-
d99520y:
hdd unlock我这直接提示can't open driv ...
用PC3000和HDD Unlock解笔记本硬盘密码 -
javaersu:
几个学习Shell的不错网站:shell为您提供了对UNIX系 ...
shell脚本实例 -
zh89233:
一段恶意脚本的分析及思考 -
tiancaicao:
hdd unlock老要联网,一联网就说我这破解不了,让我付费 ...
用PC3000和HDD Unlock解笔记本硬盘密码 -
pythoner126com:
不错,学习了,跟这个作者写的有点像,http://www.yi ...
python对文件进行读写操作
以下这些知识是在编写shell程序的时候要用到的,需要的时候可以来查查,来巩固一下吧
shell中的一些扩展字符
• !! 上个命令的所有字符
• !* 一个命令的所有参数
• !^ 上一条命令的第一个参数
• !$ 上一条命令的最后一个参数
• !:3 上一条命令的第3个参数
• !:0 命令
• !:x x指示 可以是^ $ x-y * x*(第x个起) x-(不包括$) % n 0
• !n history中的第n条命令,-n表示最后倒数的。
• !?xxx 包含xxx的最后一个命令
• !xxx xxx开头的最后一个命令
• ^string1^string2^ 快速替换。重复上一条命令,将 string1 替换为 string2. 与 ``!!:s/string1/string2/''
修饰符 (Modifiers)
可选的 word 指示器之后,可以出现一个或多个下述 modifiers 的序列,每一个都前缀有 `:'。
h 删除文件名组成的尾部,只保留头部(路径)。
t 删除文件名组成中前面的成分,保留尾部(文件)。
r 删除 .xxx 形式中尾部的后缀成分,保留基本名称部分。
e 删除所有内容,保留尾部的后缀。
p 打印新的命令,但是不执行它。
q 引用替换所得的词,使它不再进行替换。
x 引用替换所得的词,类似与 q, 但是会根据 blanks,空白 和新行符分解为词。
s/old/new/
将事件行中出现的第一个 old 替换为 new。 任何分隔符都可以用来代替
/,最后一个分隔符是可选的,如果它是事件行的最后一个字符。 old 和 new 中的分隔符可以用一个反斜杠来引用。如果 &
出现在 new 中,它将替换为 old。 可以用单个反斜杠来引用 &。如果 old 为空,它将设置为最后替换的 old,
或者,如果前面没有发生过历史替换,就是 !?string[?] 搜索中的最后一个 string。
& 重复上一次替换。
g 使得改变被整个事件行所接受。用于与 `:s' 或 `:&' 结合 (例如,`:gs/old/new/')。 如果与 `:s'
结合使用,任何分隔符都可以用来代替 /, 最后一个分隔符是可选的,如
果它是事件行的最后一个字符。
$ mv foo.{jpeg,jpg}
这个命令将把foo.jpeg改名为foo.jpg。
bash脚本的参数
$0:脚本名字。此变量包含地址,可以使用basename $0获得脚本名称。
$1:第一个参数
$2,$3,$4,$5,…一次类推。
$# 传递到脚本的参数个数
$* 以一个单字符串显示所有向脚本传递的参数
$$ 脚本运行的ID号
$! 后台运行的最后一个进程的ID号
$@ 与$#相同,但是使用时加引号,并在引号中返回每个参数。
$- 显示shell使用的当前选项。
$? 显示最后命令的推出状况。0表示没有错误。
================================================
1.得到字符串长度
☎ echo ${#variable}
☎ expr length “$variable”
☎ expr “$variable” : “.*”
e=www; a=e; echo ${!a}; eval echo \$$a
2.查找字符串子串位置
☎ expr index “$variable” “substring”
3.得到字符串子字符串
☎ echo ${variable:position:length}
☎ expr substr “$variable” startposition length
4.匹配正则表达式之匹配长度
expr match “$x” “this”
☎ expr match “$x” “string”
5.字符串的掐头去尾
☎ echo ${variable#startletter*endletter} # #表示掐头,因为键盘上#在$前面,一个表示最小匹配
☎ echo ${variable##tartletter*endletter} 两个表示最大匹配
☎ echo ${variable%startletter*endletter} # %表示去尾,因为键盘上%在$后面,一个表示最小匹配
☎ echo ${variable%%startletter*endletter} 两个表示最大匹配
6.字符(串)的替换
☎ echo ${variable/oldletter/newletter} #替换一个
☎ echo ${variable//oldletter/newletter} #替换所有
7。测试变量是否已经赋值
${variable:-value}
如果变量已经赋值,则使用该变量值。如果变量为空,则使用value。需要注意的是,value并不赋给variable。
${variable:=value}
该表达式上面的区别就是,如果variable为空,则value赋给variable。
${variable:?”customed message “}
变量是否为空,如果为空的话则显示带有系统错误信息
================================================
Bash 测试和比较函数
test expr 和 [ expr ] 是等价的。
☎ test 3 -gt 4 && echo True || echo false
false
必须用 \ 加以转义
☎ [ “abc” \< “def” ];echo $?
0
-a 和 -o 选项使用逻辑运算符 AND 和 OR
☎ [ ! \( “a” = “$HOME” -o 3 -lt 4 \) ]; echo $?
1
不需要对 (( 和 )) 之间的操作符转义
(( w=(y/x) + ( (~ ++x) & 0×0f ) )); echo $? $x $y $w
用 [[ 复合命令,进行通配符测试,包含算术测试
( -d “$HOME” ) && ( -w “$HOME” ) && echo “home is a writable directory”
“abc def d,x” == a[abc]*\ ?d* ; echo $?
| a -gt 2 ; echo $?
在 shell 中用 echo 和 $(( )) 直接进行计算
发表评论
-
Bash的测试和比较函数
2010-03-28 00:29 1396您是否为 Bash shell 中大量的测试和比较选项而困惑呢 ... -
shell脚本语法规则
2010-03-27 10:01 2816shell脚本语法规则1、变量赋值的时候"=&quo ... -
shell脚本实例
2010-03-27 09:09 205101. 写一个脚本,利用循环计算10的阶乘 #!/ ... -
在shell中自动输入密码
2010-03-23 22:11 3931在写shell脚本的时候,如果要切换到root身份下,在需要输 ... -
useradd、adduser和userdel在使用时的注意事项
2010-03-04 09:50 18161. 使用useradd时,如果后面不添加任何参数选项,例如: ... -
ubuntu启动时的初始化信息
2010-03-04 08:49 3621如果想知道Linux在启动时是如何加载硬件的,那就用dmesg ... -
ubuntu下网页显示乱码的解决方法
2010-02-26 16:28 1972在Linux下用Firefox浏览有Flash的网页时,经常碰 ... -
ubuntu分区方案
2010-02-20 15:07 743880G分区方案如下: /boot 分区,256M,文件系 ... -
linux sed命令详解
2010-02-04 17:27 13671. Sed简介 sed 是一种在 ... -
debfoster & deborphan
2010-02-04 09:22 1086从moto知道了这两个软件 ... -
tar 由于前面延迟的错误而退出
2010-01-28 14:22 5228今天在解压的时候出现:tar 由于前面延迟的错误而退出,这个错 ... -
debian下安装和配置ldap及phpldapadmin
2010-01-26 17:25 41001.安装ldap安装slapd 以及相关ldap工具#apt- ... -
在vim中使用查找命令查找指定字符串
2010-01-26 09:58 10828要自当前光标位置向上搜索,请使用以下命令: ... -
解析 Linux 中的 VFS 文件系统机制
2010-01-21 14:43 1375本文阐述 Linux 中的文件系统部分,源代码来自基于 IA3 ... -
wget 使用技巧
2010-01-13 09:05 1217wget 是一个命令行的下载工具。对于我们这些 Linux 用 ... -
debian中resolv.conf配置文件的用法
2010-01-13 09:04 2860debian中resolv.conf 的一个重要功能就是提供一 ... -
debian下修改mysql登陆密码
2010-01-12 12:56 2758今天在搭建postfix时要用到mysql数据库,在创建的时候 ... -
postfix概述
2010-01-12 09:58 1327postfix是Wietse Venema在IBM的GPL协议 ... -
linux 内核代码构架图
2010-01-11 09:02 1262linux 内核代码构架图 -
scp的使用
2009-12-10 15:34 707linux 的 scp 命令 可以 在 linux 之间复制 ...
相关推荐
在IT领域,Shell脚本是Linux或Unix...在"SHELL基础十二篇"的学习过程中,每个主题都需要深入实践,通过编写实际的脚本来巩固理论知识。熟练掌握这些基础,将能让你在日常的系统管理、自动化任务和脚本编写中游刃有余。
在学习Shell基础时,需要对上述内容进行深入理解,并通过实际编写和执行Shell脚本来巩固这些知识。通过对Shell脚本的熟练操作,用户可以有效地自动化日常管理任务,提高工作效率。此外,理解不同Shell之间的语法差异...
这份“Linux Shell语言基础笔记xmind”显然是一个整理了Shell基础知识的思维导图文件,对于初学者或者需要复习Shell语法的人来说,是一个极好的学习资源。 首先,让我们来探讨一下Shell的基础知识。在Linux中,最...
本文将深入探讨Shell编程的基础知识,包括基本语法、常用的内置命令、条件语句、循环结构以及函数的使用,旨在帮助初学者快速入门,并逐步提升为Shell脚本专家。 首先,让我们了解什么是Shell。Shell是操作系统提供...
值得注意的是,《兄弟连Linux基础知识》不仅提供了理论知识的讲解,还配有丰富的实践案例,旨在帮助学习者通过动手操作来巩固所学知识。此外,对于想要进一步提升自己的读者来说,还可以参考更多专业书籍和在线资源...
文档部分详细介绍了Shell脚本的基础知识,包括Shell的种类(如Bash、Csh、Ksh等)、环境变量、命令行参数、条件语句、循环结构、函数定义、错误处理、输入/输出重定向、管道和重用历史记录等。对于每个概念,文档都...
### shell脚本的编写入门手册 ...通过本文的学习,读者不仅可以了解到shell脚本的基础知识,还能掌握如何编写高效的shell脚本来解决实际问题。随着技能的不断提升,shell脚本将成为日常工作中不可或缺的一部分。
总的来说,这份"shell脚本.pdf"书籍应该涵盖了Shell脚本的基础知识,旨在帮助初学者快速上手,通过大量的实例学习和练习,读者将能够编写出自己的Shell脚本来解决实际问题。记得实践是检验真理的唯一标准,多写、多...
5. **Linux基础实验报告**:这个实验旨在帮助学生实践并巩固Linux基础知识,包括文件和目录管理、权限设置、文件系统操作、进程管理等。通过实验,学生将更直观地理解这些概念,并学会在实际问题中应用它们。 在...
书中详细讲解了Bash Shell的基础知识,包括变量、条件语句(如`if-else`)、循环结构(如`for`和`while`)、函数定义、输入/输出重定向、管道和重用等。通过学习这些内容,你可以编写出处理日常任务的自动化脚本,...
1. **Shell基础知识**:介绍如何启动Shell、基本的命令行操作,如文件和目录管理(创建、删除、移动、复制)、文件查找以及文本处理。 2. **Shell变量与环境**:学习如何定义和使用环境变量,这些变量在脚本中可以...
首先,书中会讲解Unix Shell的基础知识,包括常见Shell的类型,如Bourne Shell (sh)、Bash (Bourne-Again SHell) 和Korn Shell (ksh)。每个Shell都有其特定的语法和特性,理解这些差异对于编写跨平台兼容的脚本至关...
记得结合实验指导书,理解每个部分的目的,并尝试自己编写脚本来巩固所学知识。此外,查阅相关资料和在线教程,可以帮助你更全面地掌握Shell编程技巧。 总之,"CSAPP lab9 shell lab"是一个很好的起点,让你在系统...
这部分可能包含一些用Shell编写的简单游戏,如猜数字游戏等,帮助学习者在实践中巩固Shell编程技巧,同时增加学习的乐趣。 通过这个合集,无论是新手还是有经验的系统管理员,都能找到有价值的信息,提升在Linux...
1. **Shell基础知识**:Windows Shell是Windows操作系统的核心组成部分,提供了用户与系统的交互接口,包括桌面、开始菜单、文件资源管理器等。了解Shell的基本结构和组件是Shell编程的基础。 2. **批处理脚本...
Linux Shell的基础知识包括以下几个方面: 1. **Shell解释器**:Shell是一种命令解释器,它接收用户在终端输入的命令并执行。常见的Shell有Bash(Bourne-Again SHell)、C Shell、Korn Shell和Z Shell等,其中Bash...
总的来说,《LINUX与UNIX SHELL编程指南》是一本全面覆盖SHELL编程和UNIX基础知识的书籍,通过学习,读者不仅能掌握SHELL编程技术,还能深化对LINUX和UNIX操作系统的理解,从而在日常工作中更加得心应手。...
UNIX操作系统自诞生...总的来说,本书《UNIX shell语言编程24小时学会》是一本针对UNIX Shell编程初学者的实用入门指南,通过系统的讲解和实践练习,能够让读者在短时间内快速入门并掌握Shell编程的核心知识和技能。