1.初认识shell
定义bash的类型 #!/bin/bash
查询文件中包含obb字符串的行数是否为3,注意将命令行赋值给变量要加~上面的点而不是单引号
查询文件中某个单词的数量
grep -o 的意思为将匹配的单独起一行
row_count2=`cat test* | grep -o add | wc -l`
echo ${row_count2};
定义变量
fruit=apple;
count=5;
echo "$count ${fruit}";
echo –e 处理特殊字符
以下省略注释
#!/bin/bash
#program:
# this program shows "hello world" in your screen
#histroy:
#2012/10/8 labreeze first-release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
echo -e "hello world\a\n"
exit 0
2.定义变量 输出变量
#!/bin/bash
#var
var1="apple"
var2=orange
echo ${var1},$var1
echo "${var1},$var1"
echo ${var2},$var2
echo "${var2},$var2"
#array
users=(one two three)
#len=${#users[*]}
len=${#users}
echo $len
exit 0
3.终端读取变量
read –p
-p 标志的文件结束符引起该进程的清除,因此产生另外一个进程。
#!/bin/bash
#get name
#the first line will wrap but the second is not
echo "type into your first name:"
read firstName
read -p "type into your last name:" lastName
#print name
echo -e "your full name is ${firstName}${lastName}"
echo -e "your full name is $firstName$lastName"
exit 0
4.if else
参考http://blog.csdn.net/flowingflying/article/details/5069646
#下面请至于[ ... ],即[后面有一个空格,]前面有一空格,另外$mystack用双引号,表示这代表的是一个字符串。注意到then不放在下一行,与if放在用一行,用;来隔开。
#注意if中空格的问题 双括号则不用考虑空格的问题
If写法
[ "$choice" == "Y" -o "$choice" == "y" ]
if [ "$yn" == "Y" ] || [ "$yn" == "y" ];then
if(("$yn" == "Y")) || (("$yn" == "y"));then
#!/bin/bash
read -p "please input Y/N:" choice
echo $choice
[ "$choice" == "Y" -o "$choice" == "y" ] && echo "yes continue......" && exit 0
[ "$choice" == "N" -o "$choice" == "n" ] && echo "no exit......" && exit 0
echo "i donot judge your choick" && exit 0
read -p "type into Y/N:" yn
if [ "$yn" == "Y" ] || [ "$yn" == "y" ] ; then
echo "yes .....!"
elif [ "$yn" == "N" ] || [ "$yn" == "n" ]; then
echo "stop.....!"
else
echo "system cannot konw the char"
fi
exit 0
ifelse 实现的监测主机的端口是否开启
#!/bin/bash
#Program:
# this program is to detect servers port
#History:
# 2012-10-09 labreeze First-release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
#1.give some preparation
echo "now, i will detect your linux server's service!"
echo -e "the WWW,FTP,SSH,and MAIL will be detect!\n"
#2.begin to detect and give some information
testing=$(netstat -tuln | grep ":80 ")
if [ "$testing" != "" ]; then
echo "WWW is running in your system."
fi
testing=$(netstat -tuln | grep ":22 ")
if [ "$testing" != "" ]; then
echo "SSH is running in your system"
fi
testing=$(netstat -tuln | grep ":21 ")
if [ "$testing" != "" ]; then
echo "FTP is running in your system"
fi
testing=$(netstat -tuln | grep ":25 ")
if [ "$testing" != "" ]; then
echo "MAIN is running in your system"
fi
exit 0
5.function方法的使用
$0输出脚本名称$1,$2..为传入方法的参数
注意学习方法的返回值是如何获取的
#!/bin/bash
function getSum(){
echo $0,$1,$2;
return $(($1+$2));
}
getSum 2 3;
getSum 3 4
sum=$?;
echo "sum:"$sum;
function的全局变量和局部变量
#function2
declare num=1000;
function globalFun(){
((num++));
}
function localFun(){
local num=10;
((num++));
}
globalFun;
echo $num;
localFun;
echo $num;
6.循环(for while)
#!/bin/bash
#while
i=1;
while(($i<100));do
if(($i%3==0));then
echo $i
fi
i=$(($i+1))
done
#for
for((i=100;i<200;i++));do
if(($i%3==0));then
echo $i
fi
done
#getSum from 1 to 100
sum=0;
for((i=0;i<100;i++));do
sum=$(($sum+$i));
done
echo $sum;
users=(one tow three four)
size=${#users[*]}
echo $size
for((i=0;i<$size;i++));do
echo ${users[$i]}
done
7.从输入的shell脚本中读取参数 如:start/stop/restart等
$0脚本名称 $#参数的数量(不包括0) $@显示所有的参数(不包括0)
#!/bin/bash
#Program:
# this program is to practise how to accept parameter when run sh
#History
# 2012-10-09 labreeze First-release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
echo "the sh-name is $0"
echo "the number of parameter is $#"
echo "all parameters is as follows $@"
echo "$1"
echo "$2"
exit 0
8.shell debug
sh –n +filename 不执行脚本仅仅检查语法问题 sh –v +filename 在执行脚本前先将脚本内容给输出来 sh –x +filename 将用到的脚本内容输出来 |
|
相关推荐
这是linux之shell练习的题目
linux之shell脚本编程.zip
《Linux之Shell篇》
Linux之shell脚本基础详细教程大全—shell脚本基础1-变量
关于Linux的shell的应用,与了解,让我们学会并认知其的作用与含义。
Linux_shell脚本全面学习 Linux_shell脚本全面学习
Linux培训二之shell编程学生版.ppt,在linux下编写简单的shell脚本
shell的入门基础,可快速跨入shell的大门,推荐初学者。
shell是用户和Linux操作系统之间的接口。 什么是shell Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。 shell是用户和Linux内核之间的...
包含一些常用shell使用,附带运行shell脚本的结果,直接拷贝代码放入XX.sh中即可使用运行,
本文详细的介绍了Linux下的Shell编程技术,Shell命令的介绍和实例讲解。对学习linux的初学者有很好的帮助
本文详细的介绍了Linux下的Shell编程技术,Shell命令的介绍和实例讲解。对学习linux的初学者有很好的帮助
主要讲的是Linxu的shell变量设置
linux_shell编程入门书籍,配合实例讲解,有助于新手入门,欢迎下载
Linux教程 Shell精华文章
linux通讯录的shell脚本,很多linux大作业都需要
Linux-shell脚本全面学习.pdf
Linux-shell编程06Linux-shell编程06Linux-shell编程06Linux-shell编程06Linux-shell编程06Linux-shell编程06Linux-shell编程06Linux-shell编程06Linux-shell编程06Linux-shell编程06
Linux主要shell命令详解 Linux主要shell命令详解 Linux主要shell命令详解
LINUX与UNIX SHELL编程指南