变量

知识点

变量赋值和输出

variable="hello world"

echo $variable 或者 echo ${variable} (最后格式统一使用后者)

只读变量

readonly variable

设置完后无法修改原来的变量内容

删除变量

unset variable

删除变量后无法再次使用,该命令不能删除只读变量

字符串

双引号和单引号

和PHP类似,用单引号或者双引号来表示字符串均可

拼接

按照字符串输出格式(${variable})输出

长度

${#variable}

子字符串

${variable:startIdx:endIdx}

数组

定义和读取

arr=("a" "b" "c")

echo ${arr[0]} #输出第一个的内容

echo ${arr[@]} #输出全部的内容

长度

len=${#arr[@]} 获取数组的长度

len=${#arr[0]} 获取数组第一个内容的长度

文件包含

假如创建了两个文件,其中一个文件想要使用另一个文件的变量

只需要在前面加上这么一句:


# 使用.号来引用文件
. ./file1.sh # 使用source来包含文件
source ./file1.sh

这里需要注意的是,被包含的文件file1.sh不需要可执行权限,执行的那个文件才需要

问题

查找子字符串

Shell 学习笔记之变量的更多相关文章

  1. shell学习笔记3---shell变量

    Shell变量的定义.赋值和删除 脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell 变量也遵循这个规则. 在 Bash shell 中,每一个变量的值都是字符串,无论你给变量赋值时有 ...

  2. Shell学习笔记 - 环境变量配置文件(转)

    一.source命令 功能:在当前bash环境下读取并执行配置文件中的命令 1. 命令格式 source 配置文件  或  . 配置文件 2. 命令示例 [root@localhost ~]# sou ...

  3. Shell学习笔记 - 环境变量配置文件

    一.source命令 功能:在当前bash环境下读取并执行配置文件中的命令 1. 命令格式 source 配置文件  或  . 配置文件 2. 命令示例 [root@localhost ~]# sou ...

  4. shell学习笔记之变量(一)

    一.普通变量 1.使用变量之前通常并不需要事先声明,通常赋值的时候创建他们2.默认所有的变量都被看做字符串,并且以字符串存储3.变量区分大小写4.变量名前面添加$符号来访问变量,赋值的时候只需要使用变 ...

  5. shell 学习笔记3-shell变量扩展

    一.特殊位置参数变量 1.特殊位置参数变量 在shell中比如:$0.$1.$#,等被称为特殊位置参数变量,当命令行.函数.脚本执行等处传递参数时,就需要使用位置参数变量 参数说明如下: 2.示例$1 ...

  6. shell学习笔记

    shell学习笔记 .查看/etc/shells,看看有几个可用的Shell . 曾经用过的命令存在.bash_history中,但是~/.bash_history记录的是前一次登录前记录的所有指令, ...

  7. [转帖][Bash Shell] Shell学习笔记

    [Bash Shell] Shell学习笔记 http://www.cnblogs.com/maybe2030/p/5022595.html  阅读目录 编译型语言 解释型语言 5.1 作为可执行程序 ...

  8. shell学习笔记汇总

    1.shell脚本中函数使用 函数定义在前,调用在后,顺序反了就没有效果了.函数调用为:函数名 参数列表 函数内部通过以下变量访问函数的参数:shell脚本函数中: $0: 这个脚本的名字 $n: 这 ...

  9. shell 学习笔记2-shell-test

    一.字符串测试表达式 前面一篇介绍:什么是shell,shell变量请参考: shell 学习笔记1-什么是shell,shell变量 1.字符串测试表达式参数 字符串需要用""引 ...

随机推荐

  1. margin-top、margin-bottom的一些分析

    margin-top:表示该容器距离上面容器的距离 情况一:如果该容器上面没有容器,则这个样式属性则被父容器占用了 html代码如下: <div id ="fa"> & ...

  2. HNOI2015 Day 2题解

    昨天做了HNOI day 2,感觉好像还是可做的,想当年什么splay还是高级算法,现在点剖什么就老考了简直丧病,虽然第二题还没写那就先当下嘴巴选手吧= = T1:[HNOI2015]落忆枫音 描述: ...

  3. 阿里云LINUX服务器配置HTTPS(NGINX)

    本文首发于:http://www.fengzheng.pub/archives/238.html 背景说明 服务器为阿里云 ECS,操作系统为 CentOS 6.5. 部署配置说明 第一步,安装ngi ...

  4. 关于jquery中封装函数如何传递当前元素的问题

    需要对页面上一组元素进行ajax操作 <div id="aid"></div> <div id="aid"></div ...

  5. MegCup 2017 极客挑战赛 初赛试题

    看着像八卦,数数不是八卦,是29卦 每卦又有29个小弧 所以是29×29个bit 这29×29个bit怎么理解呢?并且从哪一卦开始到哪一卦结束?是先环向层层向里走还是先径向逐卦走? 我想不出来. 我猜 ...

  6. javascript小程序——用嵌套循环来输出乘法口诀表

    在学习javascript过程中,一开始接触循环语句时一般拿乘法口诀表来练手,这里我将自己的练习贴在这里,希望能给和我一样的初学者些许帮助,也希望大神们能够不吝指教. 首先,来看一下乘法口诀表是什么样 ...

  7. git全部使用步骤

    今天要讲的内容:项目管理和工具 Git:版本控制系统 Less:动态的css语言,提高编写CSS的效率 Gulp:项目自动构建工具,对html,css,js,image进行压缩,合并等操作. 一.什么 ...

  8. 第33篇 js 常用简单的写法

    1.取整 取整可以使用'~~'相当于Math.floor() ~~1.5=1; 2.判断为空或者undefine时赋一个自定义的值 var obj={a:"111",b:" ...

  9. 两款【linux字符界面下】显示【菜单】,【选项】的powershell脚本模块介绍

    两款[linux字符界面下]显示[菜单],[选项]的powershell脚本模块介绍 powershell linux  ps1 menu choice Multiselect 传教士 菜单 powe ...

  10. Spring框架(6)---AspectJ实现AOP

    AspectJ实现AOP 上一篇文章Spring框架(4)---AOP讲解铺垫,讲了一些基础AOP理解性的东西,那么这篇文章真正开始讲解AOP 通过AspectJ实现AOP要比普通的实现Aop要方便的 ...