`

十分钟学会shell,shell入门基础

阅读更多

shell介绍:

 

#为什么使用shell脚本?

shell脚本实现自动化运维 可以自动化管理系统

 

#查看系统中支持的所有shell类型

#cat /etc/shells

#chsh -l

 

#如何切换shell

直接输入shell的名字

例: #ksh

切换到ksh

sh,bash,nologin,tcsh,csh,ksh

 

#查看当前使用的shell

#echo $SHELL

 

#bash功能和特点

1 命令和文件自动补齐

2 历史记录功能 上下键、!number、!string、!$、!!、^r

3 别名功能      alias、unalias cp、~username/.bashrc、\cp -rf /etc/hosts .

4 快捷键 ^c、^d、^a、^e、^l、^s、^q

5 前后台作业控制 &、nohup、^c、^z、bg、fg %1、kill %3

6 输入输出重定向 0,1,2,  >,  >>,  2>,  2>>,   2>&1,  &>,   <,    cat <<EOF,  cat >file1 <<EOF

7 管道 | tee ip addr |grep 'inet ' |tee -a test |grep eth0 -a 追加

8 命令排序

; 不具备逻辑判断

&& 具备逻辑判断

       || 具备逻辑判断

9 shell元字符表示的不是本意

* ? & ; $ [] () {} \

10 变量

11 shell script  脚本

 

#如何执行shell脚本

1 # source demo.sh 不需要执行权限 在当前shell中执行

2 # . demo.sh 不需要执行权限 在当前shell中执行

3 # sh demo.sh 不需要执行权限 在子shell中执行

  # sh -x demo.sh 以调试的方式执行

  # sh -n demo.sh 仅调试 syntax error

4 # bash demo.sh 不需要执行权限 在子shell中执行

5 # ./demo.sh 需要执行权限 在子shell中执行

 

#修改shell脚本执行权限

#vim demo.sh

#chmod a+x demo.sh

 

shell变量

#什么是变量?

用一串固定的字符来保存经常变化的字符

 

#变量的类型

1 自定义变量

用户在编写脚本时根据自己的需求定义的变量

2 系统环境变量

系统在启动的过程中读取自己的配置文件定义的变量

PATH=/bin/:$PATH

3 位置变量

$1 $2 $3 $4 $5 $6 $7 $8 $9 ${10}

4 预定义变量

$* $@ $# $$ $?(上一个命令的返回值 0表示成功)

 

#变量的定义

例: #name=gaoyaohua

变量名字=变量值

注: 变量名命名必须以字母或下划线开头

区分大小写字母

例: #export name=gaoyaohua

例: #wo=gaoyaohua

#export wo 

export把变量定义为全局环境变量(当前shell跟子shell都有效)

 

#变量的取消

例: #unset name

 

#变量的查看

#set //显示系统内的所有变量,包括自定义变量

#env //只显示系统环境变量,不会显示自定义变量

 

#变量的调用

例: #echo $name

   $变量名

例: #echo 'your name is $name.'

' ' 单引号 变量原样输出(弱引用)

例: #echo "your name is $name."

" " 双引号 变量被变量值取代(强引用)

 

#创建数组变量

方法一: 一次赋一个值

数组名[下标]=变量值

# array[0]=pear

# array[1]=apple

# array[2]=orange

# array[3]=peach

 

方法二: 一次赋多个值

# array=(tom jack alice)

# array=(`cat /etc/passwd`) 希望是将该文件中的每一个行作为一个元数赋值给数组array3

# array=(`ls /var/ftp/shell/for*`)

# array=(tom jack alice "bash shell")

 

# declare -a

declare -a array='([0]="pear" [1]="apple" [2]="orange" [3]="peach")'

declare -a array='([0]="tom" [1]="jack" [2]="alice")'

 

访问数组元数:

# echo ${array[0]} 访问数组中的第一个元数

# echo ${array[@]} 访问数组中所有元数  等同于 echo ${array1[*]}

# echo ${#array[@]} 统计数组元数的个数

# echo ${array[@]:1} 从数组下标1开始

# echo ${array[@]:1:2} 从数组下标1开始,访问两个元素

 

条件语句:

#整数值比较

[ 整数1 选项 整数2 ]

-ne 不等于

-eq 等于

-ge 大于等于

-le 小于等于

-gt 大于

-lt 小于

#字符串比较

[ 字符串1 比较符 字符串2 ]

== 或 =

!=不等于

-z 测试字符串是null的时候为真

#逻辑比较

[ 表达式1 ] 符号 [ 表达式2 ] 符号 [ 表达式3 ]

&& -a and

|| -o or 

 

流程控制:

# 条件语句

单分支

if[ 条件表达式 ];then

echo "demo 1"

fi

双分支

if [ 条件表达式 ]

then

echo  "demo2"

else

echo  "demo3"

fi

多分支结构

if [ 条件表达式 ];then

echo "demo 1"

elif [ 条件表达式 ];then

echo "demo 2"

elif [ 条件表达式 ];then

echo "demo 3"

elif [ 条件表达式 ];then

echo "demo 4"

else

echo "demo 5"

fi

 

#循环语句

for

for 变量名 in 变量值列表

do

echo "demo 1"

done

 

while

while 条件表达式

do

echo "demo 1"

done

until

until 条件表达式

do

echo "demo 1"

done

 

#选择语句

case

case $变量名 in

模式1)

echo "demo 1"

;;

模式2)

echo "demo 1"

;;

模式3)

echo "demo 1"

;;

*)

echo "demo 1"

;;

esac

 

例子:

select choice in green blue red quit "bash shell"

do

       case $choice in

               red)

                       echo "红色"

                       ;;

               green)

                       echo "绿色"

                       ;;

               blue)

                       echo "蓝色"

                       ;;

               *)

                       exit

       esac

done

 

 

函数

#函数

完成特定功能的代码片段(块)

在shell中定义函数可以使用代码模块化,便于复用代码

函数必须先定义才可以使用

 

#定义函数的方法

方法一:

函数名() {

函数要实现的功能代码

}

 

方法二:

function 函数名 {

函数要实现的功能代码

}

 

#调用函数的方法

函数名

函数名 参数1 参数2

 

 

 

exit

break

continue

shift

 

shift 作用:使位置参数向左移动,默认移动1位,可以使用shift 2

exit  退出整个程序

break 结束当前循环,或跳出本层循环

continue 忽略本次循环剩余的代码,直接进行下一次循环

 

 

 

 

2
0
分享到:
评论

相关推荐

    Shell基础——Shell入门资料

    **Shell基础——Shell入门资料** 在信息技术领域,Linux操作系统因其开放源码、稳定性和灵活性而备受推崇。Linux的用户界面主要是命令行界面,也就是我们常说的终端或控制台,而Shell则是用户与操作系统交互的接口...

    shell编程从入门到精通

    本教程“Shell编程从入门到精通”旨在帮助初学者快速掌握Shell编程的核心技能,并逐步提升至高级水平。 1. **Shell基础** - **Shell类型**:不同的Linux发行版和Unix系统可能使用不同类型的Shell,如Bash(Bourne-...

    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循环及...

    shell从入门到精通pdf

    文档名称 Shell 从入门到精通 腾讯课堂直播 http://opsdev.ke.qq.com 博客 http://lizhenliang.blog.51cto.com GitHub https://github.com/lizhenliang/Shell-Python-Document QQ 技术群 323779636(Shell/...

    Linux零基础学习笔记 Shell编程-菜鸟入门(超详细)

    Linux是开源的操作系统,它的命令行界面,尤其是Shell编程...因此,无论你是技术小白还是希望进一步提升,这份“Linux零基础学习笔记 Shell编程-菜鸟入门”都会是你宝贵的资源。祝你在学习的道路上越走越远,不断进步!

    Shell编程入门基础必备视频教程.zip

    1Linux下Shell编程入门及变量讲解.mp4 2Linux下Shell编程入门及变量讲解.mp4 3Shell编程企业实战菜单系列.mp4 4Shell编程企业实战菜单系列.mp4 5Linux下LAMP实战及脚本编程思路讲解.mp4 6Linux下LAMP实战及脚本编程...

    Shell 脚本语言入门

    ### Shell脚本语言入门:详解与实践 #### 引言 在IT领域,Shell脚本是一种强大而灵活的工具,广泛应用于系统管理、自动化任务、数据处理等方面。它基于Unix/Linux环境,允许用户通过一系列命令行指令来实现复杂的...

    shell shell练习 shell入门

    本篇文章将深入探讨Shell的基础知识,包括其概念、重要性、基本语法以及如何进行Shell编程练习。 一、Shell简介 Shell是一个用户与操作系统之间的接口,它接受用户输入的命令并解析成操作系统可以理解的语言,然后...

    Linux Shell 脚本编程入门教程

    从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善...

    华清远见 Shell编程从入门到精通 中文版

    《linux shell编程从入门到精通》由浅入深、循序渐进地详细讲解了linux shell编程的基本知识。这些基本知识包括shell编程的基本知识、文本处理的工具和方法、正则表达式、linux系统知识等。  《linux shell编程从...

    shell基础入门教程

    **Shell基础入门教程** Shell编程是Linux和Unix操作系统中的一种命令解释器,它允许用户通过命令行与系统交互,执行各种任务。本教程将引导初学者逐步了解并掌握Shell编程的基础知识。 ### 1. Shell简介 Shell是...

    学习shell的入门资料(shell十三问+shell基础十二篇)doc版

    **Shell脚本编程入门** Shell,全称Bash Shell(Bourne-Again SHell),是一种广泛用于Linux和Unix系统的命令解释器,同时也是编写脚本的编程语言。它允许用户通过命令行接口执行系统操作,如文件管理、程序执行、...

    shell设计入门.TXT shell设计入门

    根据提供的文件信息,我们可以归纳出一系列与Shell设计入门相关的知识点,包括Shell的基础概念、Bash Shell的特点及其在不同操作系统中的应用、脚本编写基础、控制结构、文本处理工具以及环境配置等方面的内容。...

    shell脚本简单入门

    【Shell脚本简单入门】 Shell脚本是一种在Unix/Linux操作系统中使用的编程语言,用于自动化一系列命令执行任务。它是用户与操作系统交互的一种强大工具,尤其在系统管理、文件操作和任务调度方面发挥着重要作用。 ...

    shell 入门 shell 入门

    Shell 入门:掌握基础与实践 Shell 是操作系统中的一个命令解释器,主要用于与操作系统交互,特别是在Linux和Unix系统中。它不仅提供了丰富的命令集,还允许用户通过编写脚本来自动化执行一系列任务,极大地提高了...

    shell编程入门教程

    shell 编程入门教程 shell 编程是 Linux 操作系统中的一个重要组件,它允许用户输入命令并将其执行, shell 编程有两种执行命令的方式:交互式(Interactive)和批处理(Batch)。在 shell 编程中,有变量、流程...

    shell编程入门经典--LINUX与UNIX Shell编程指南 (中文pdf版)

    通过阅读《LINUX与UNIX Shell编程指南》,你可以系统性地学习和掌握Shell编程基础,从而提升在Linux或UNIX环境中工作的能力。无论你是系统管理员、开发人员还是普通用户,学习Shell编程都能让你的工作变得更加轻松和...

Global site tag (gtag.js) - Google Analytics