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 将用到的脚本内容输出来 |
|
相关推荐
- **Bourne-Again Shell (bash)**:Bourne Shell的扩展版本,增加了许多新特性,是目前最广泛使用的Shell之一。 - **C Shell (csh)**:另一种流行的Shell,语法风格与其他Shell略有不同。 - **TC Shell (tcsh)**:C ...
Linux之Shell编程是Linux系统管理及自动化操作的重要组成部分,它为用户提供了与操作系统交互的界面。Shell编程允许用户编写脚本,实现批处理任务,提高工作效率。本部分将围绕Linux Shell编程的基础知识展开,包括...
《Linux之Shell篇》主要介绍了Linux系统中的Shell及其重要性,以及如何编写和执行Shell程序。Shell是Linux用户与操作系统内核之间的交互界面,它既是一个命令解释器,也是一门编程语言。用户通过Shell输入命令,...
Linux培训二之shell编程学生版.ppt,在linux下编写简单的shell脚本
Linux Shell是Linux操作系统中的一种命令解释器,它提供了一个用户与操作系统内核交互的界面,使得用户可以通过文本命令行执行各种操作。Shell脚本则是一种编程语言,它允许用户编写包含一系列命令的程序,实现自动...
Linux中的Shell是一个至关重要的组成部分,它是用户与操作系统交互的接口,扮演着命令解释器的角色。在Linux系统中,默认的Shell通常是Bash(Bourne-Again SHell),它继承了Bourne shell的功能并增加了许多扩展特性...
linux通讯录的shell脚本,很多linux大作业都需要
Linux教程 Shell精华文章
Linux Shell 脚本编程基础知识点总结 Linux 脚本编写基础 1.1 语法基本介绍 * `#!` 符号用来告诉系统它后面的参数是用来执行该文件的程序 * 在 Linux 中,使用 `/bin/sh` 来执行程序 * 编辑好脚本后,需要使其可...
Linux Shell是Linux操作系统中用于与系统交互的一种命令行接口,它是Linux系统中极其重要的组成部分。Shell不仅是一个命令解释器,还是一种强大的编程语言,能够帮助用户自动化日常的系统管理任务。本教程“Linux ...
1.Linux下Shell编程基础入门.mp4 2.Shell编程之变量及LAMP导航菜单编写.mp4 3.Shell编程之IF条件语句各种案例演练.mp4 4.使用if条件语句编写MySQL备份脚本.mp4 5.Shell编程之LAMP一键安装脚本实战.mp4 6.For循环及...
Linux Shell 脚本 Linux Shell 脚本是一种为 Shell 编写的脚本程序。Shell 是一种命令语言,又是一种程序设计语言。Shell 脚本的主要作用是帮助用户更方便地使用 Linux 操作系统。 一、 Shell 介绍 Shell 是一个...
Linux Shell 命令解释步骤程序实现 Linux Shell 命令解释是 Linux 操作系统中最基本也是最重要的一部分,它负责处理用户与操作系统之间的交互动作,并且给出相应的操作系统的输出结果。 Shell 基本上是一个命令...
"Linux与UNIX Shell编程指南" Linux与UNIX Shell编程指南是计算机科学领域中一本经典的指南手册,旨在帮助读者快速掌握Linux与UNIX操作系统下的shell编程技术。下面是从该书中生成的相关知识点: 1. Shell概述 ...
linux命令行与shell脚本编程.pdf
Linux命令行与shell脚本编程大全_learn-linuxshell
主要内容包括:Linux及Linux Shell简介、初识Linux Shell、常用Shell(Bash)命令、Shell命令进阶、Shell编程基础、Shell的条件执行、Bash循环、Shell函数、正则表达式、脚本输入处理、Shell重定向、管道和过滤器、...
在Linux环境下,shell脚本是自动化任务的强大工具,尤其对于数据导出这样的操作,通过编写shell脚本可以方便地实现定期备份或者按需导出。本文将深入讲解如何使用shell脚本来实现数据的导出,并结合Java代码进行调用...
在本学习资料包中,包含了三本关于Linux Shell的重要书籍:《Linux Shell编程艺术》、《Linux Shell脚本攻略》以及《Linux Shell从入门到精通》,这些资源将帮助你全面深入地理解和掌握Linux Shell。 《Linux Shell...