`

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脚本全面学习 Linux_shell脚本全面学习

    linux之shell

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

    linux_shell实例精解

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

    Linux之Shell命令语言整理

    linux常用命令大全

    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脚本编程大全_learn-linuxshell.zip

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

    linux_shell从初学到精通

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

    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从入门到精通完整版视频.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命令行及脚本编程实例详解-刘艳涛.mobi kindle版

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

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

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

Global site tag (gtag.js) - Google Analytics