鸟书shell学习(三)shell脚本程序设计要点总结

时间:2023-10-19 07:33:28 学习总结 收藏本文 下载本文

鸟书shell学习(三)shell脚本程序设计要点总结(整理7篇)由网友“苍松翠柏”投稿提供,下面是小编为大家整理后的鸟书shell学习(三)shell脚本程序设计要点总结,供大家参考借鉴,希望可以帮助您。

鸟书shell学习(三)shell脚本程序设计要点总结

篇1:鸟书shell学习(三)shell脚本程序设计要点总结

首先是读取用户输入的read命令,输出的命令就是echo ,例如:read -p 'please input your first name: ' firstname

echo 'your first name is : $firstname'

shell中变量是没有申明比较随意不需要指定类型,在引用的时候, $变量名 或者是 ${变量名}除了这种方式之外就是通过执行脚本时的参数的传递,在shell中参数名是内置的$0,$1,$2,$4...这里$0表示文件名,$1开始表示第一个参数,其他依次类推. 初次之外还有其他特殊的参数名,如下:

$# : 表示参数个数

$@:代表“$1”,“$2” ... 之意$*:代表“$1 $2 $3 ...” 之意

eg:

#!/bin/bashecho 'filename:'$0echo 'args size: '$#echo 'first arg:'$1

篇2:鸟书shell学习(三)shell脚本程序设计要点总结

shell只能够支持整数的基本运算:+ - * / %

1).declare - i var 可以将变量声明为整数,然后对变量进行运算,变量运算是这样的:$((计算式)) eg:

declare -i v1declare -i v2v3=$(($v1 + $v2))#也可以这样计算:declare -i v3=$v1*$v2 #表达式之间不能有空格

2).var=$((运算内容)) //运算内容中间是允许有空格的 eg:

echo $ (( 19 + 78))

篇3:鸟书shell学习(三)shell脚本程序设计要点总结

循环的几种格式如下:

while do done

while [ condition ]do 程序段done

until do done

until [ condition ]do 程序段done

for...do...done

for var in cond1 cond2 cond3 ...do 程序段donefor ((初始值;限制值;执行步长))do 程序段done

篇4:鸟书shell学习(三)shell脚本程序设计要点总结

shell中可以用test命令进行判断,eg:

test -e ./example.sh #测试文件是否存在

常见测试类型和参数如下:截图来自鸟哥的Linux私房菜

除了可以用test命令进行条件判断之外i,还可以用[] (中括号的语法进行判断,判断测试参数和test一样).

[]语法要求[]内的所有量之间均有空格,eg:

[b“$name”b==b“xiaoyi”b] #b都表示空格

三 复杂脚本

篇5:鸟书shell学习(三)shell脚本程序设计要点总结

if else 的标准格式:

if [ 条件判断1 ] ; then command1elif [ 条件判断2 ] ; then command2else command3fi

其中,条件可以用&&或者||进行连接

case...esac的标准格式如下:

case $variableName in “第一个变量内容”) 程序段 ;; #每个类型的结尾类似break“第二个变量内容”) 程序段 ;; *)# 类似default 用* 代替 其他不符合条件的程序段 ;;esac

篇6:鸟书shell学习(三)shell脚本程序设计要点总结

function fname{ 程序段}

examples:

#!/bin/bash# if --- else -- exmapledeclare -i v1=10declare -i v2=15if [ $v1 -ge $v2 ] ; thenecho ''$v1' is bigger than '$v2''else echo ''$v1' is smaller than '$v2''fi# case ... esac exampleread -p 'Please input your name : ' namecase $name in“xiaoyi”) echo 'hello xiaoyi' ;;“xiaoyi1”) echo 'hello xiaoyi1' ;;*) echo 'no case matched!' ;;esac# loop exampledeclare lv=1 while [ $lv -le 10 ]do echo $lv lv=$((${lv}+1))doneuntil [ $lv -le 1 ]do echo $lv lv=$((${lv}-1))donefor c in 'c1' 'c2' 'c3'do echo $cdonefor ((i=0;i<10;i=i+1))do echo $idone function printHello(){ echo 'hello'}printHello

篇7:鸟书shell学习笔记(二)shell中正则表达式相关

通配符与正则表达式的区别

通配符是bash原生支持的语法,正则表达式是处理字符串的一种表示方式, 正则表达式需要支持的工具支持才可以

语系设置 : export LANG=Cgrep alias 设置 : grep --color=auto

grep 的一些高级参数

grep [-A] [-B] ‘搜寻字符串‘ filename //同时输出之前的k行和之后的m行-A : 后面可加数字,表示列出改行以及之后的n行-B : 列出前面几行

搜寻关键字如果中间使用正则表达式的话,则正则表达式部分需要加上[]eg : grep ‘[a-z]oooo‘ filename

匹配行首 ‘^string‘ 但是 ‘[^s]string‘则表示排除s这个字母匹配行尾 ‘string$‘eg:排除注释行,和空行grep -v ‘^$‘ /etc/profile | grep -v -n ‘^[[:blank:]]*#‘

sed 用法

sed [-nefr] [动作] sed可以直接在文件上进行操作选项与参数:-n :使用安静(silent)模式,

鸟书shell学习笔记(二)shell中正则表达式相关

。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。-e :直接在命令列模式上进行 sed 的动作编辑;-f :直接将 sed 的动作写在一个文件内, -f filename 则可以运行 filename 内的 sed 动作;-r :sed 的动作支持的是延伸型正规表示法的语法。(默认是基础正规表示法语法)-i :直接修改读取的文件内容,而不是由萤幕输出。动作说明: [n1[,n2]]functionn1, n2 :不见得会存在,一般代表『选择进行动作的行数』,举例来说,如果我的动作 是需要在 10 到 20 行之间进行的,则『 10,20[动作行为] 』function 有底下这些咚咚:a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);p :列印,亦即将某个选择的数据印出,通常 p 会与参数 sed -n 一起运行~s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

eg: nl regular.txt | sed ‘2,5d‘ //删除第二到第五行 ,sed 后面的动作必须要使用‘‘扩住

nl regular | sed ‘2a add hello‘ 第二行后面增加数据

nl regular | sed ‘2,5c change 2 to 5 line content‘ 替换2-5行的内容

nl regular | sed -n ‘2,5p‘ 选定行打印出来

sed的查找与替换 sed ‘s/要被替换的字符串/新字符串/g‘

cat .bashrc | sed ‘s/#.*$//g‘ | sed ‘s/^$//g‘ |grep -n ‘exp‘ //删除注释行和空白行

sed -i ‘s/\.$/\!/g‘ regular //直接修改文件

awk 好用的数据处理工具

适合小型数据处理

awk ‘条件类型1{动作1} 条件类型2{动作2} ...‘ filename

通配符

特殊正则

正则

拓展正则

linux Shell学习笔记第二天

Shell中的变量使用小结

Shell编程之正则表达式详解

Linux UDP反弹shell脚本脚本安全

Unix系列shell程序编写Windows系统

脚本范文

Shell脚本逐行读取文件(不改变格式)

Shell脚本实现检测进程是否正在运行

扩展思维新方法后台拿shell

Python标准库urllib2的一些使用细节总结

鸟书shell学习(三)shell脚本程序设计要点总结
《鸟书shell学习(三)shell脚本程序设计要点总结.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【鸟书shell学习(三)shell脚本程序设计要点总结(整理7篇)】相关文章:

星光贴吧1.3 后台拿SHELL及修复方案漏洞预警2022-05-31

Discuz XSS得webshell脚本安全2022-05-08

微软IIS 6.0和7.5的多个漏洞及利用方法漏洞预警2022-08-31

Echo 写入VBS提权2022-07-19

伪科学:Mysql system函数提权2022-06-23

高级运维工程师的职责2022-08-30

高级运维工程师的工作职责描述2024-02-12

linux下perl,sed,shell批量替换文件内容linux操作系统2022-10-14

换工作的心得体会2023-09-03

教你做服务级的木马后门2023-07-09