linux中的shell编程----基础

1,运行shell脚本有两种办法一般有两种:

先给可执行权限,再进入文件所在的目录,输入:./name.sh;

运行解释器再执行脚本:/bin/sh name.sh,这种情况下,脚本中可以没有#!/bin/bash的情况。

2,shell变量

    变量命名规则:

  1. 命名只能使用英文字母,数字和下划线,首个字符不能以数字

    开头。

  • 变量名和等号,变量名中间也不能有空格,可以使用下划线(_)。
  • 不能使用标点符号。
  • 不能使用bash里的关键字

变量赋值:

直接赋值

可以使用for xx in name 循环,for i in " ls /home"        for i in $(ls /home) ;    ps:第一种i会直接等于‘ls  /home‘,这和python不一样,它直接就是整个的字符串,第二种比较靠谱,遍历所有/home下的文件夹和文件名。还有一种要区分一下,是for i in `ls /home`,(注意这不是引号,是~那个键),作用和$()一样

使用变量:

比如: your_name="qinjx‘

用法1:echo $your_name    $直接加变量名字

用法2:echo ${your_name}    ${}中间是变量名字,花括号有助于帮助shell识别边界。

比如:your_name="qinjx"

        greeting="hello, "$your_name" !"    #用法1
        greeting_1="hello, ${your_name} !"    #用法2

     特殊用法:只读变量:readonly your_name,加上readonly以后,该变量只能被读,不能被重新赋值,不能改变。

删除变量:unset your_name ,注意不可以删除只读变量

变量类型

1) 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。

        2) 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。

        3) shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

    shell字符串

shell中变量的类型基本就两种,数字和字符串,字符串可以使用单双引号来表明,双引号比较好,因为双引号内部支持转义字符和引用其他变量。

比如:

astring=‘qinjx‘

        str="Hello, I know you are \"$astring\"! \n"

    常用字符串操作

          astring="hello shell"

获取字符串长度:echo ${#astring}    输出11

截取字符串:echo ${astring:0:4} 输出hell  和python不同,它表示从0后面的个字符串开始,向后截取4个,顺便说一句,shell的下标和python不一样,shell下标从1开始。

查找字符串:echo ‘expr index "$astring" o`  输出5 。(这是反引号)意思是从变量astring中查找字符o,

3 shell数组

shell支持数组。数组的下标从0开始。数组用小括号表示,数字之间用空格分开。

    数组的定义方法1:alist=(1 2 3 4 5)

方法2:alist[0] =1;alist[1]=alist[2]=3;alist[3]=4...

读取数组:${数组名[下标]},比如${alist[0]} ,@可以表示数组中所有的下标:${alist[@]}

  获得数组元素个数:echo ${#alsit[@]}

获得数组某个元素的长度:echo ${#alist[number]}

4 shell注释

两种注释应该够用了。

1,#在开头

2,

:<<EOF
注释内容...
注释内容...
注释内容...
EOF

    

原文地址:https://www.cnblogs.com/0-lingdu/p/9255971.html

时间: 2024-10-10 02:38:50

linux中的shell编程----基础的相关文章

Linux学习之Shell编程基础

转自:http://my.oschina.net/itblog/blog/204410 1 语法基本介绍1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序.  当编辑好脚本时,如果要执行该脚本,还必须使其可执行.  要使脚本可执行: 编译 chmod +x filename 这样才能用./filename 来运行 1.2 注释  在进行shell编程时,以#开头的

Linux学习之二十一-shell编程基础

Shell编程基础 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言.Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务.Shell 脚本(shell script),是一种为 shell 编写的脚本程序 Shell 编程跟 java.php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了 Linux中的shell种类(shell解释器的种类

Linux中的shell

shell的含义: 首先shell的英文含义是"壳": 它是相对于内核来说的,因为它是建议在核的基础上,面向于用户的一种表现形式,比如我们看到一个球,见到的是它的壳,而非核. Linux中的shell,是指一个面向用户的命令接口,表现形式就是一个可以由用户录入的界面,这个界面也可以反馈运行信息: shell在Linux中的存在形式: 由于Linux不同于Windows,Linux是内核与界面分离的,它可以脱离图形界面而单独运行,同样也可以在内核的基础上运行图形化的桌面. 这样,在Lin

Linux下的shell编程入门

通常情况下,我们从命令行输入命令每输入一次就能够得到系统的一次响应.一旦需要我们一个接着一个的输入命令而最后才得到结果的时候,这样的做法显然就没有效率.要达到这样的目的,通常我们利用shell程序或者shell脚本来实现. 一.简介 Shell编程有很多类似C语言和其他程序语言的特征,但是又没有编程语言那样复杂.Shell程序就是放在一个文件中的一系列Linux命令和实用程序,在执行的时候,通过Linux一个接着一个地解释和执行每个命令. 下面我们来看一个简单的shell程序: 1.首先建立一个

shell编程基础一(多种方法求值1+2+..+100)

#SHELL编程基础一(多种方法求值1+2+..+100)##为什么要学好shell shell脚本语言是实现linux系统管理及自动化运维所必备的重要工具,linux系统的底层及基础应用软件的核心大都涉及shell脚本的内容. 每一个合格的linux系统管理员或运维工程师,都需要能够熟练地编写shell脚本语言,并能够阅读系统及各类软件附带的shell脚本内容. 只有这样才能提升运维人员的工作效率,适应日益复杂的工作环境,减少不必要的工作,从而为个人的职场发展奠定较好的基础.# 本文的宗旨是熟

第十天:shell编程基础与编写Makefile

一:shell编程基础 shell定义:shell是一个作为用户与linux系统间接口的程序.它允许用户向操作系统输入需要执行的命令.shell有很多中,linux系统中shell为bash. shell编程可以看作是一堆命令的集合.和windows中的bat程序类似的脚本程序.为解释性语言. 第一个shell程序是判断两个数字的大小. 1 #!/bin/bash 2 3 num1=10 4 num2=9 5 6 if test $num1 -gt $num2 7 then 8 echo $nu

Linux中的shell到底是什么

(引自:https://zhidao.baidu.com/question/557066905.html) [一] shell的含义: 首先shell的英文含义是"壳": 它是相对于内核来说的,因为它是建立在内核的基础上,面向于用户的一种表现形式,比如我们看到一个球,见到的是它的壳,而非核. Linux中的shell,是指一个面向用户的命令接口,表现形式就是一个可以由用户录入的界面,这个界面也可以反馈运行信息: [二]shell在Linux中的存在形式: 由于Linux不同于Windo

周期性任务计划,包管理,sed以及shell编程基础

周期性任务计划,包管理,sed以及shell编程基础 1.每12小时备份并压缩/etc/目录至/backup目录中,保存文件名称格式为,"etc-年-月-日-时-分.tar.gz"[[email protected] /]# crontab -e0 /12 /usr/bin/tar -zcf /data/backup/etc-$(date '+%Y-%m-%d--%H-%M').tar.gz /ect/*2.rpm包管理功能总结以及实例应用演示rpm是一个功能十分强大的软件包管理系统,

LINUX下C语言编程基础

实验二 Linux下C语言编程基础 一.实验目的 1. 熟悉Linux系统下的开发环境 2. 熟悉vi的基本操作 3. 熟悉gcc编译器的基本原理 4. 熟练使用gcc编译器的常用选项 5 .熟练使用gdb调试技术 6. 熟悉makefile基本原理及语法规范 7. 掌握静态库和动态库的生成 二.实验步骤 1. 快捷键 Ubuntu中: 2. vim VIM是一个非常好的文本编辑器,很多专业程序员使用VIM编辑代码,即使以后你不编写程序,只要跟文本打交道,都应该学学VIM,可以浏览参考一下普通人