shell 变量、参数、数组章节笔记
// 变量名和等号之间不能有空格
hello="123456";
echo $hello;
// 花括号只是帮助识别变量边界
echo ${hello}; // unset 删除变量
unset hello;
// 打印为空
echo $hello; // 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的
// 单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用 hello='12345';
echo '$hello world';
显示: $hello world // 双引号里可以有变量
// 双引号里可以出现转义字符 echo "$hello \"world\""
显示: 12345 "world" // 获取字符串长度
echo ${#hello} // 提取子字符串
// 从第2个字符开始截取5个字符
echo ${hello:1:5} // 命令的结果赋值给变量 $() || ` `
info=$(tail -n 5 ./hello.txt).
echo ${info}
或
info=`head -n 5 ./hello.txt`
echo ${info} // 参数传递
$1 获取第一个参数
$# 获取传递的参数个数
$* 获取所有的参数
$@ 获取所有的参数,与$*相同 ./1.sh 1 2 3 echo $1 // 1
echo $# // 3
echo $* // 1 2 3 // $* 和 $@ 的区别 (加上双引号后才有区别)
// "$*" 是一个参数,接收的参数当一个整体 “$@”如果是多个参数,会分开接收
// $@ 加不加引号没有影响,主要是$*加引号会结果不同 for i in $@; do
echo $i;
echo '-----split-line----'
done; for i in "$*"; do
echo $i;
echo '-----split-line----'
done; // $@把参数当成3个 循环了三次
1
-----split-line----
2
-----split-line----
3
-----split-line---- // “$*"把参数当成一个整体,循环了一次
// 如果不加引号就跟$@一样
1 2 3
-----split-line---- // 数组 hello=(1 2 3 4 5) // 数组空格分割
echo ${hello[1]} // 获取指定索引的值
hello[0]=9 // 设置数据
echo ${hello[*]} // 输出全部
echo ${#hello[*]} // 输出数组长度
echo ${hello} // 输出第一个索引的值
shell 变量、参数、数组章节笔记的更多相关文章
- Java变量参数
Java1.5添加新功能:可变参数:它适用于参数不确定性的数量,判断形势的类型.java变量参数数组操作. 特点: 1.今天的参数列表只能持续. 2.省略号(...)位于变量类型和变量名之间,前后有无 ...
- Shell脚本笔记(二)Shell变量
Shell变量 一)全局环境变量 全局变量对于定义它的shell和其子shell都是可见的,但如果生成它的shell被终止,全局变量也就消失了.另外全局变量会被子shell的同名变量覆盖. #定义一个 ...
- shell变量、函数和数组以及字符串的截取
一.变量 1.shell变量名 (1)可以由字母.数字.下划线等字符组成.但是第一个字符必须是字母或者下划线. (2)若果变量中包含下划线(_)则要特别注意,$project_svn_$date.ta ...
- shell变量,字符串,数组
一.shell变量定义: 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头: 中间不能有空格,可以使用下划线: 不能使用标点符号: 不能使用bash里的关键字. 变量使用: 使用一个定义过的 ...
- 【转】shell学习笔记(二) ——shell变量
在shell中有3种变量:系统变量,环境变量和用户变量,其中系统变量在对参数判断和命令返回值判断时会使用,环境变量主要是在程序运行时需要设置,用户变量在编程过程中使用量最多. 1 系统变量 变量名 ...
- shell echo/read/printf/流程控制章节笔记
// echo read printf 流程控制 命令 1.read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量 read hello 输入xxx echo $hell ...
- shell变量定义与数组-1
1.查看系统所有shell和默认shell 查看系统所有的shell: cat /etc/shells 查看系统默认shell: echo $SHELL 2.第一个shell脚本,打印字符串Hello ...
- shell变量自增 || Python脚本接收参数
一.shell变量自增a=1a=$(($a+1))a=$[$a+1]a=`expr $a + 1`let a++ let a+=1 ((a++)) echo $a 二.python脚本接收参数 fro ...
- shell 学习笔记1-什么是shell,shell变量
一.介绍 1.什么是shell Shell 既是一种命令语言,又是一种程序设计语言,他在操作系统得最外层,负责直接与用户对话,把用户得输入解释个OS,并处理各类操作系统得输出结果,输出到屏幕返回个i用 ...
随机推荐
- METO CODE 223 拉力赛
传送门 继续水板子题... #include <bits/stdc++.h> #define ll long long using namespace std; inline int re ...
- flex布局实例demo全解
上篇文章介绍了Flex布局的语法,今天介绍常见布局的Flex写法. 你会看到,不管是什么布局,Flex往往都可以几行命令搞定. 我只列出代码,详细的语法解释请查阅<Flex布局教程:语法篇> ...
- UNION的使用方法 (表与表直接数据和在一起的示例)
SELECT o.CATEGORY CATEGORY,o.KEY_WORK KEY_WORK FROM BO_EU_KEY_WORK wo RIGHT OUTER JOIN BO_EU_WORK_ON ...
- Linux下的Locale详解
locale这个单词中文翻译成地区或者地域,其实这个单词包含的意义要宽泛很多.Locale是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境. loca ...
- Dlib Opencv cv2.fitEllipse用于人眼轮廓椭圆拟合
dlib库的安装以及人脸特征点的识别分布分别在前两篇博文里面 Dlib Python 检测人脸特征点 Face Landmark Detection Mac OSX下安装dlib (Python) 这 ...
- found 12 vulnerabilities (7 moderate, 5 high) run `npm audit fix` to fix them, or `npm audit` for details
npm 安装包之后,如果出现类似下面的信息 found 12 vulnerabilities (7 moderate, 5 high) run `npm audit fix` to fix them, ...
- 【学习笔记】python
1. len( s ) 返回对象(字符.列表.元祖等)的长度或项目个数. >>>str = "runoob" >>> len(str) # ...
- php禁止某ip或ip地址段访问的方法(转载)
<?php include("banIP.php");?> 禁用单个ip如下:<?php //禁用ip地址 $ip=$_SERVER["REMOTE_A ...
- sigaction 的使用
linux内核会发射一些信号,应用程序可以捕捉信号执行特定函数 :失败:-,设置errno act:传入参数,新的处理方式.oldact:传出参数,旧的处理方式. struct sigaction结构 ...
- MongoDB用户权限认证
关于用户的认证及权限 用户是跟着库创建的,在哪个库创建的什么权限的什么用户,只对此库有相应权限(除超级管理员以外). 官网文档:https://docs.mongodb.com/master/refe ...