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脚本全面学习 Linux_shell脚本全面学习
Linux培训二之shell编程学生版.ppt,在linux下编写简单的shell脚本
Linux Shell是Linux操作系统中的一种命令解释器,它提供了一个用户与操作系统内核交互的界面,使得用户可以通过文本命令行执行各种操作。Shell脚本则是一种编程语言,它允许用户编写包含一系列命令的程序,实现自动...
linux常用命令大全
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脚本编程大全_learn-linuxshell
Linux Shell是Linux操作系统中用于与系统交互的一种命令行接口,它是Linux系统中极其重要的组成部分。Shell不仅是一个命令解释器,还是一种强大的编程语言,能够帮助用户自动化日常的系统管理任务。本教程“Linux ...
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
1.Linux下Shell编程基础入门.mp4 2.Shell编程之变量及LAMP导航菜单编写.mp4 3.Shell编程之IF条件语句各种案例演练.mp4 4.使用if条件语句编写MySQL备份脚本.mp4 5.Shell编程之LAMP一键安装脚本实战.mp4 6.For循环及...
主要内容包括:Linux及Linux Shell简介、初识Linux Shell、常用Shell(Bash)命令、Shell命令进阶、Shell编程基础、Shell的条件执行、Bash循环、Shell函数、正则表达式、脚本输入处理、Shell重定向、管道和过滤器、...
在Linux环境下,shell脚本是自动化任务的强大工具,尤其对于数据导出这样的操作,通过编写shell脚本可以方便地实现定期备份或者按需导出。本文将深入讲解如何使用shell脚本来实现数据的导出,并结合Java代码进行调用...