加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell环境和种类介绍及编程应用

发布时间:2020-12-15 21:52:30 所属栏目:安全 来源:网络整理
导读:一、shell介绍 shell是c语言编写的程序,既是一种命令语言,又是一种程序设计语言。 shell种类:.sh 编译器:ash,bash,ksh,csh,zsh 查看当前系统下的shell:cat /etc/shells 查看默认的shell类型:echo $SHELL 二、shell脚本 1.新建一个.sh格式的文件 2.内容

一、shell介绍

  shell是c语言编写的程序,既是一种命令语言,又是一种程序设计语言。

  shell种类:.sh

  编译器:ash,bash,ksh,csh,zsh

  查看当前系统下的shell:cat /etc/shells

  查看默认的shell类型:echo $SHELL

二、shell脚本

  1.新建一个.sh格式的文件

  2.内容:(在这个文件里面输入我们要执行的命令)

    1)首行:#! /bin/bash ,#!是一个约定的标记,告诉系统这个脚本用什么样的编译器来执行  

    2)文本:

  ?  ?echo 文本---向窗口输出文本?

    3)注释:

    ??? 单行注释 #

      多行注释 :<<!

           !?  

  3.运行脚本

    sh xxx.sh

    bash xxx.sh

    source xxx.sh

    路径的方式来运行:绝对路径,相对路径 ./? ? ? 在执行的时候有可能当前的文件没有执行权限:(1)chmod +x/r/w ./文件名---对编写的程序赋予可执行的权限,(2)chmod 777 文件名----对文件进行满权限操作,r-4,w-2,x-1

?

    总结:最好用sh xxx.sh方式来运行脚本

三、shell的变量

?  1.本地变量,作用域只在当前环境有效

    普通变量:变量名="变量值",等号前后不能有空格

?

?

  2.全局变量,通过export把一个局部变量转换为全局变量

 

?

  3.内置变量,内置变量只有$1-$9

    $0:获取当前执行的脚本的文件名

    $?:代表获取的是所有参数

    $#:代表获取的是参数的个数

四、运算符

  算术运算符、比较运算符、逻辑运算符

五、函数:if,case,for,while

  1.定义函数:

1 function 函数名(){
2   语句  
3 }

  2.调用函数:

    函数名

  3.if:

1 if [条件]
2 then
3     语句块
4 elif [条件]
5 then
6     语句块
7 else
8     语句块
9 fi

  4.case

1 case 变量 in:
2     值1)
3         echo "语句块1";;
4     ?)
5         echo "语句块2";;
6      esac

  星号(?)相当于else

  5.for

1 for 值 in 列表
2 do
3     执行语句
4 done

  6.while

1 while [条件]
2 do
3     执行语句
4 done

六、扩展

  1.计算/etc目录下有多少个文件

1 #! /bin/bash
2 count=‘ls /etc | wc -l‘
3 echo $count

  2.1)解释:   

1 #! /bin/bash
2 for tfile in kkk aaa bbb tst; do
3 echo $tfile
4 done

    输出的文本为:     

1 kkk
2 aaa
3 bbb
4 tst

   2)把一个目录下的文件查询出来赋值给一个变量

1 #! /bin/bash
2 for tfile in ‘ls /usr/testhome/‘; do
3 echo $tfile
4 done

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读