`

linux 之shell

 
阅读更多

 

1.初认识shell

定义bash的类型    #!/bin/bash

 

查询文件中包含obb字符串的行数是否为3,注意将命令行赋值给变量要加~上面的点而不是单引号

   row_count=`cat testFile | grep obb | wc -l`
   if [ ${row_count} -eq 3 ];
        then echo "true";
  else
        echo "false"; 
  fi
 

   查询文件中某个单词的数量
   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  将用到的脚本内容输出来

 

 

 

 

0
5
分享到:
评论

相关推荐

    linux之shell十三问

    - **Bourne-Again Shell (bash)**:Bourne Shell的扩展版本,增加了许多新特性,是目前最广泛使用的Shell之一。 - **C Shell (csh)**:另一种流行的Shell,语法风格与其他Shell略有不同。 - **TC Shell (tcsh)**:C ...

    Linux之Shell编程Part_1.rar

    Linux之Shell编程是Linux系统管理及自动化操作的重要组成部分,它为用户提供了与操作系统交互的界面。Shell编程允许用户编写脚本,实现批处理任务,提高工作效率。本部分将围绕Linux Shell编程的基础知识展开,包括...

    《Linux之Shell篇》.pptx

    《Linux之Shell篇》主要介绍了Linux系统中的Shell及其重要性,以及如何编写和执行Shell程序。Shell是Linux用户与操作系统内核之间的交互界面,它既是一个命令解释器,也是一门编程语言。用户通过Shell输入命令,...

    linux之shell

    Linux培训二之shell编程学生版.ppt,在linux下编写简单的shell脚本

    linux_shell实例精解

    Linux Shell是Linux操作系统中的一种命令解释器,它提供了一个用户与操作系统内核交互的界面,使得用户可以通过文本命令行执行各种操作。Shell脚本则是一种编程语言,它允许用户编写包含一系列命令的程序,实现自动...

    Linux 下 Shell的工作原理

    Linux中的Shell是一个至关重要的组成部分,它是用户与操作系统交互的接口,扮演着命令解释器的角色。在Linux系统中,默认的Shell通常是Bash(Bourne-Again SHell),它继承了Bourne shell的功能并增加了许多扩展特性...

    linux 通讯录shell脚本

    linux通讯录的shell脚本,很多linux大作业都需要

    Linux教程 Shell精华文章.chm

    Linux教程 Shell精华文章

    Linux-shell脚本全面学习.pdf

    Linux Shell 脚本编程基础知识点总结 Linux 脚本编写基础 1.1 语法基本介绍 * `#!` 符号用来告诉系统它后面的参数是用来执行该文件的程序 * 在 Linux 中,使用 `/bin/sh` 来执行程序 * 编辑好脚本后,需要使其可...

    linux_shell从初学到精通

    Linux Shell是Linux操作系统中用于与系统交互的一种命令行接口,它是Linux系统中极其重要的组成部分。Shell不仅是一个命令解释器,还是一种强大的编程语言,能够帮助用户自动化日常的系统管理任务。本教程“Linux ...

    Linux下Shell从入门到精通完整版视频.zip

    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 脚本 Linux Shell 脚本是一种为 Shell 编写的脚本程序。Shell 是一种命令语言,又是一种程序设计语言。Shell 脚本的主要作用是帮助用户更方便地使用 Linux 操作系统。 一、 Shell 介绍 Shell 是一个...

    Linux下Shell命令解释步骤程序实现

    Linux Shell 命令解释步骤程序实现 Linux Shell 命令解释是 Linux 操作系统中最基本也是最重要的一部分,它负责处理用户与操作系统之间的交互动作,并且给出相应的操作系统的输出结果。 Shell 基本上是一个命令...

    Linux与UNIX Shell编程指南.pdf

    "Linux与UNIX Shell编程指南" Linux与UNIX Shell编程指南是计算机科学领域中一本经典的指南手册,旨在帮助读者快速掌握Linux与UNIX操作系统下的shell编程技术。下面是从该书中生成的相关知识点: 1. Shell概述 ...

    linux命令行与shell脚本编程.pdf

    linux命令行与shell脚本编程.pdf

    Linux命令行与shell脚本编程大全_learn-linuxshell.zip

    Linux命令行与shell脚本编程大全_learn-linuxshell

    Linux+Shell命令行及脚本编程实例详解-刘艳涛.mobi kindle版

    主要内容包括:Linux及Linux Shell简介、初识Linux Shell、常用Shell(Bash)命令、Shell命令进阶、Shell编程基础、Shell的条件执行、Bash循环、Shell函数、正则表达式、脚本输入处理、Shell重定向、管道和过滤器、...

    linux下shell脚本实现数据的导出

    在Linux环境下,shell脚本是自动化任务的强大工具,尤其对于数据导出这样的操作,通过编写shell脚本可以方便地实现定期备份或者按需导出。本文将深入讲解如何使用shell脚本来实现数据的导出,并结合Java代码进行调用...

    linux shell学习资料

    在本学习资料包中,包含了三本关于Linux Shell的重要书籍:《Linux Shell编程艺术》、《Linux Shell脚本攻略》以及《Linux Shell从入门到精通》,这些资源将帮助你全面深入地理解和掌握Linux Shell。 《Linux Shell...

Global site tag (gtag.js) - Google Analytics