shell数组

Shell 脚本语法

怎甘沉沦 提交于 2019-12-02 04:47:31
语法: 1. echo "Hello World !" //echo 命令用于向窗口输出文本 2.your_name="runoob.com" //变量名定义,变量名和等号之间不能有空格 命名规则: 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。 中间不能有空格,可以使用下划线(_)。 不能使用标点符号。 不能使用bash里的关键字(可用help命令查看保留关键字) 3.使用变量 加$ ,加花括号是为了帮助解释器识别变量的边界 echo ${your_name} 4.只读变量 readonly readonly myUrl 5.删除变量 unset ,不能删除只读变量 unset your_name 6.变量类型 1) 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。 2) 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。 3) shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行 二 字符串 1.单引号 双引号区别 双引号内可以引用变量 双引号内可以出现转义字符 2.获取字符串长度 string="abcd

第六章 Shell数组应用

三世轮回 提交于 2019-12-02 03:31:12
目录 第六章 Shell数组应用 1. 数组基本概述 2. 数组基本使用 3. 数组遍历与循环 第六章 Shell数组应用 1. 数组基本概述 01. 什么是数组? 数组其实也算是变量,传统的变量只能存储一个值,但数组可以存储多个值。 02. 数组的分类 Shell数组分为普通数组和关联数组。普通数组:只能使用整数作为数组索引。关联数组:可以使用字符串作为数组索引。 2. 数组基本使用 01. 普通数组仅能使用整数来作为索引 #普通数组赋值方式 1.方式一:针对每个索引进行赋值 [root@gjy ~]# array1[0]=pear [root@gjy ~]# array1[1]=apple [root@gjy ~]# array1[2]=orange [root@gjy ~]# array1[3]=peach 2.方式二:一次赋多个值,数组名=(多个变量值) [root@gjy ~]# array2=(tom jack alice) [root@gjy ~]# array3=(tom jack alice "bash shell") [root@gjy ~]# array4=(1 2 3 "linux shell" [20]=puppet) 3.方式三:将该文件中的每一个列作为一个元数赋值给数组array5,默认以空格为分割符 [root@gjy ~]# array5=(

shell 之 数组

有些话、适合烂在心里 提交于 2019-12-02 03:31:11
函数传参使用场景示例,需求描述:写一个脚本,实现nginx服务的启动、停止、重启。 [root@shell day06]# cat nginx.sh #!/bin/bash source /etc/init.d/functions if [ $# -ne 1 ];then echo "Usage: $0 {start|stop|status|reload|restart}" exit fi rc=$1 retu() { if [ $? -eq 0 ];then action "Nginx is $rc 成功!" /bin/true else action "Nginx is $rc 失败!" /bin/false fi } start() { if [ ! -f /var/run/nginx.pid ];then /usr/sbin/nginx retu else echo "Nginx 服务正在运行....." fi } stop() { if [ -f /var/run/nginx.pid ];then /usr/sbin/nginx -s stop retu else echo "Nginx 服务不在运行......" fi } reload() { if [ -f /var/run/nginx.pid ];then /usr/sbin/nginx -s reload

第六章 Shell数组应用

可紊 提交于 2019-12-02 01:58:06
1. 数组基本概述 01. 什么是数组? 数组其实也算是变量,传统的变量只能存储一个值,但数组可以存储多个值。 02. 数组的分类 Shell数组分为普通数组和关联数组。普通数组:只能使用整数作为数组索引。关联数组:可以使用字符串作为数组索引。 2. 数组基本使用 01. 普通数组仅能使用整数来作为索引 #普通数组赋值方式 #1.方式一:针对每个索引进行赋值 [root@cc ~]# array1[0]=pear [root@cc ~]# array1[1]=apple [root@cc ~]# array1[2]=orange [root@cc ~]# array1[3]=peach #2.方式二:一次赋多个值,数组名=(多个变量值) [root@cc ~]# array2=(tom jack alice) [root@cc ~]# array3=(tom jack alice "bash shell") [root@cc ~]# array4=(1 2 3 "linux shell" [20]=puppet) #3.方式三:将该文件中的每一个列作为一个元数赋值给数组array5,默认以空格为分割符 [root@cc ~]# array5=(`cat /etc/passwd`) 02. 如何查看普通数组的赋值与访问数组的内容 #1.定义普通数组,其实也可以不用定义 [root

Shell基本概述

梦想的初衷 提交于 2019-12-02 01:48:10
目录 第一章 Shell基本概述 1. Shell课程大纲介绍 2. 什么是Shell ? 3. 什么是Shell脚本 ? 4. 为什么要学Shell编程 ? 5. 学习Shell编程需要哪些知识 ? 6. 如何学好Shell编程 ? 7. Shell脚本能做什么 ? 8. Shell脚本开发规范及习惯 9. Shell脚本的执行方式 10. 登录Shell和非登录Shell 第一章 Shell基本概述 1. Shell课程大纲介绍 01)Shell基本概述 02)Shell变量定义 03)Shell数值运算 04)Shell流程控制 05)Shell循环语句 06)Shell数组函数 07)Shell内置命令 08)Shell正则表达式 2. 什么是Shell ? Shell是一个命令解释器,它的作用是解释和执行用户输入的命令及程序等,用户输入一条命令,Shell就解释执行一条。 Shell存在于操作系统的最外层,负责直接与用户对话,把用户输入的命令解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕返回给用户,当我们输入系统用户名和密码,登录到Linux后的所有操作都是由Shell解释并执行的。 Shell命令是存在交互式和非交互式的两种方式。 1.什么是交互式: 交互式模式就是在终端上执行,Shell等待你的输入,并且立即执行你提交的命令。这种模式被称作交互式

第一章 Shell基本概述

a 夏天 提交于 2019-12-02 01:47:18
1. Shell课程大纲介绍 01)Shell基本概述 02)Shell变量定义 03)Shell数值运算 04)Shell流程控制 05)Shell循环语句 06)Shell数组函数 07)Shell内置命令 08)Shell正则表达式 2. 什么是Shell ? Shell是一个命令解释器,它的作用是解释和执行用户输入的命令及程序等,用户输入一条命令,Shell就解释执行一条。 Shell存在于操作系统的最外层,负责直接与用户对话,把用户输入的命令解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕返回给用户,当我们输入系统用户名和密码,登录到Linux后的所有操作都是由Shell解释并执行的。 Shell命令是存在交互式和非交互式的两种方式。 什么是交互式:交互式模式就是在终端上执行,Shell等待你的输入,并且立即执行你提交的命令。这种模式被称作交互式,是因为Shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、退出。当你退出后,Shell也终止了。 那什么又是Shell非交互式:非交互式模式,以Shell Script(非交互)方式执行。在这种模式下,Shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,Shell也就终止了。 ​ 可以通过打印"$-"变量的值(代表着当前设置的Shell选项)

Linux下Shell入门

落爺英雄遲暮 提交于 2019-12-01 23:58:00
Shell是人和计算机之间交流的''翻译官'',通过Shell终端解释器,可以访问到系统内核的服务,Shell执行需要脚本解释器,以及一个编写脚本的工具,一般解释器使用/bin/bash,脚本工具使用vim。Shell跟其他编程语言一样,也支持参数和变量、流程控制、分支等特性,下面简单了解一下。 脚本解释器 通过cat /etc/shells可以查看系统提供的shell脚本解释器,通过echo $SHELL命令可以查看当前默认使用的解释器,可以看出默认情况下是用/bin/bash。 # 查看提供的[root@node01 /home/yangchaolin/hehe]# cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh /bin/csh# 查看默认使用的 [root@node01 /home/yangchaolin/hehe]# echo $SHELL /bin/bash 第一个Shell脚本 下面写一个输出"hello world"的脚本,来完成第一个shell脚本。 # vim命令进入脚本编辑[root@node01 /home/yangchaolin/shell]# vim shell01.sh# 编辑完查看 [root@node01 /home/yangchaolin/shell]#

shell编程:有类型的变量

走远了吗. 提交于 2019-12-01 22:18:33
1、通过 declare 和 typeset 命令 declare 和 typeset 两者等价 declare 和 typeset 都是用来定义变量类型的 下面以 declare 进行总结 2、declare 参数如下 -r 将变量设置为只读 -i 将变量设置为整数 -a 将变量设置为数组 -F 显示此脚本前定义过的所有函数及内容 -f 仅显示此脚本前定义过的函数名 -x 将变量声明为环境变量 3、举例: 例1: 声明为不可变形式, declare -r   $ var=hello   $ var=world   $ echo $var   打印出:world // 说明 var是可变的   $ declare -r var=hello   $ var=world     打印结果:-bash: var: 只读变量 例2:声明为整型, declare -i   $ num=10   $ num2=$num+20   $ echo $num2   打印出:10+20   $ expr $num + 20   打印出:30      $ num=10   $ declare -i num3   $ num3=$num+90   $ echo $num3   打印出:100 例3:显示出系统中定义的 函数名及函数体   $ declare -F 例4:

初识 Shell脚本

做~自己de王妃 提交于 2019-12-01 22:11:26
摘要 什么是Shell Shell的分类 在linux上搭建Shell编程环境 Shell 如何执行 交互式程序 创建脚本 Shell脚本的参数 Shell脚本的基本元素 指定命令解读器 Shell脚本中的注释和风格 如何执行Shell程序 Shell程序的退出状态 变量和引用 变量的命令 变量的类型 变量和引号 变量的作用域 系统变量 环境变量 变量赋值 引用变量的值 清除变量 引用符号 命令替换 条件测试 条件测试 字符串测试 整数测试 文件测试 逻辑操作符 条件判断语句 多条件判断语句case 运算符 执行算术运算 位运算符 自增/自减运算符 循环结构 带列表的for循环语句 类C风格的for循环语句 什么是Shell 在Linux系统中,Shell是用户与系统内核之间进行交互的接口。 Shell这个单词的意思是“外壳”,它形象地表达出了Shell的作用。在UNIX以及Linux中,Shell就是套在内核外面的一层外壳。正因为有Shell的存在,才向普通的用户隐藏了许多关于系统内核的细节。 Shell又称命令解释器,它能识别用户输入的各种命令,并传递给操作系统。它的作用类似于Windows操作系统中的命令行,但是,Shell的功能远比命令行强大得多。在UNIX或者Linux中,Shell既是用户交互的界面,也是控制系统的脚本语言。 Shell的分类 关于Shell的分类

shell学习笔记

末鹿安然 提交于 2019-12-01 19:48:14
Shell Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。 第一个shell脚本 1 #!/bin/bash 2 echo "Hello World !" #! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。 echo 命令用于向窗口输出文本。 运行 Shell 脚本有两种方法: 1、作为可执行程序 将上面的代码保存为 test.sh,并 cd 到相应目录: chmod +x ./test.sh #使脚本具有执行权限 ./test.sh #执行脚本 使用变量 使用一个定义过的变量,只要在变量名前面加美元符号即可,如: 1 your_name="xieshaoxiong" 2 echo $your_name 3 echo ${your_name} Shell 字符串 字符串可以用单引号,也可以用双引号,也可以不用引号。 str='this is a string' 拼接字符串 your_name="xieshaoxiong" # 使用双引号拼接 greeting="hello, "$your_name" !" greeting_1="hello, ${your_name} !" echo $greeting $greeting_1 # 使用单引号拼接