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用 ...
随机推荐
- Msi中文件替换
转自https://blog.csdn.net/davidhsing/article/details/9962377 ※说明:目前可以用于MSI编辑的软件很多,但是有些软件在保存时会在MSI文件中写入 ...
- linux shell通配符及if语句判断
$# 是传给脚本的参数个数 $0 是脚本本身的名字$1 是传递给该shell脚本的第一个参数$2 是传递给该shell脚本的第二个参数$@ 是传给脚本的所有参数的列表$* 是以一个单字符串显示所有向脚 ...
- MarkDown&思维导图
从markdown文件创建思维导图 pzhaonet/mindr: an R package which converts markdown files (.md, .Rmd) into mindma ...
- 【LUOGU???】WD与数列 sam 启发式合并
题目大意 给你一个字符串,求有多少对不相交且相同的子串. 位置不同算多对. \(n\leq 300000\) 题解 先把后缀树建出来. DFS 整棵树,维护当前子树的 right 集合. 合并两个集合 ...
- app Inventor
什么是App Inventor ? MIT 官方网站 http://ai2.appinventor.mit.edu/Ya_tos_form.html 广州中文镜像网站 http://app.gzjk ...
- java第一课 面向对象的编程概念
一.什么是对象(object)? 对象是相关状态和行为的软件包. 1.现实社会的对象都有两个共同特征:状态和行为.如:狗有状态(名称,颜色,品种,饥饿)和行为(吠叫,取出,摇尾). 2.软件对象在概念 ...
- head里两个重要标签base和meta
base标签 <base href="../"> 我们并不常用的一个标签,但是一旦用得不当会带来灾难性的影响. 它会影响到所有页面上的href和src属性相对路劲的定位 ...
- Guest Editors’ Introduction: Special Issue on Advances in Management of Softwarized Networks
文章名称:Guest Editors’ Introduction:Special Issue on Advances in Management of Softwarized Networks 发表时 ...
- 支持向量机SVM原理_python sklearn建模乳腺癌细胞分类器(推荐AAA)
项目合作联系QQ:231469242 sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?cours ...
- 生成ISO文件
cat /dev/cdrom > image.iso dd if=/dev/cdrom of=image.iso mkisofs -V "Label" -o image.is ...