shell中变量的引用(两种方式:$变量名,${变量名})。
一.基础
我们定义一个变量(等号两边不能有空格)
FILEPATH=/var/home/sss
FILEFILENAME=test001
在引用这个变量是我们可以直接使用$后面跟上变量的名字
比如: $FILEPATH
还可以 : ${FILEPATH}
使用${}这种方式的好处是可以方便的实现两个变量的连接,同时看着也比较清楚。
${FILEPATH}/${FILEFILENAME}
这样便可以表示这个文件的全路径了
---------------------------------------------
二. 此外有时我们会看到
$1,$2这种形式,这代表执行shell时,传递进来的参数
-------------------------------------------
三. 此外我们还会看到下面的这些形式
1.如果变量米有赋值或为空,使用value的值
${variable:-value}
2.如果变量米有赋值或为空,使用value的值,并把变量赋值为value
${variable:=value}
3.检验变量是否为空
${variable:?}
------------------------------------------
以下是一些不常用的
--------------------------------------------
$0 shell的命令本身(包括完整路径)
$1到$9 数字表示shell 的第几个参数
$# 传递到脚本的参数个数
$* 以一个单字符串显示所有向脚本传递的参数
$$ 脚本运行的ID号
$! 后台运行的最后一个进程的ID号
$@ 与$*相同。
$- 显示shell使用的当前选项。
$? 显示最后命令的执行状况。0表示没有错误。
shell中变量的引用(两种方式:$变量名,${变量名})。相关推荐
- sh执行文件 参数传递_详解shell中脚本参数传递的两种方式
方式一:$0,$1,$2.. 采用$0,$1,$2..等方式获取脚本命令行传入的参数,值得注意的是,$0获取到的是脚本路径以及脚本名,后面按顺序获取参数,当参数超过10个时(包括10个),需要使用${ ...
- Java中HashMap遍历的两种方式
第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Ma ...
- 【C++面向对象】C++中运算符重载的两种方式
我们知道在C++中可以通过重载运算符的方式,使类实现类似于基本类型的运算符操作,如+.-.*./等等.本文介绍这种重载运算符的两种方法. 我们先自定义一个类,来作为本次研究的对象: class Int ...
- WCF中的ServiceHost初始化两种方式
在宿主程序中初始化ServiceHost有直接写代码和使用配置文件两种方式.使用ServiceHost首先要引用System.ServiceModel 命名空间. 1 代码方式 using(Servi ...
- c语言向文件中写入字符串_C语言中定义字符串的两种方式及其比较
先看如下代码: 以上用两种方式定义一个字符串: 1.定义一个char * 类型指针,指向字符串首字符首地址. 2.定义一个数组,数组里存放元素为字符串各个字符+'0',其中'0'为码0值,编译器会自动 ...
- 【FFMPEG】AVFrame中buffer分配的两种方式
AVFrame在使用ffmpeg进行编解码过程中,是最基本的数据结构. 在某些场景下,需要对AVFrame的数据区域进行提前分配,有两种方法,需要根据自己的需求来使用. (1) * This func ...
- Spring中自动注入的两种方式
目录 1. 前言 2. set注入和构造注入. 3. 什么情况下要使用自动注入? 4. 自动注入之byName 5. 自动注入之byType注入 1. 前言 Spring的核心技术IOC(Intoro ...
- 二级指针在子函数中申请内存的两种方式
二级指针:在主函数中申明变量,在子函数中分配内存,有两种方式返回二级指针.在这个过程只有深刻理解了C的函数调用模型,以及指针的内存模型,才能够掌握好. #pragma once #include &l ...
- Java并发基础01. 传统线程技术中创建线程的两种方式
传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...
- Asp.Net中替代Eval的两种方式
在asp.net中的数据绑定中,我们经常会用到Eval,不过大家都知道Eval绑定是通过反射来实现的, 而反射势必会对性能造成一定的影响.不过有两种替代的方式来实现绑定数据,对性能略有提高. 1 当数 ...
最新文章
- 2021下半年软考各省准考证打印时间
- 信息系统项目管理师选择案例论文三方面考试心得分享
- python 中map()和lamda的简单实用
- Orleans学习总结(二)--创建工程
- UTF8 匹配汉字,字母,数字
- C# 窗体输入个人信息 存入txt 窗体输出
- 操作分布式文件之三:如何访问和操作远程文件
- mysql phpmyadmin远程_phpmyadmin登录远程mysql数据库
- 服务器怎么修改密码_亚马逊账号登陆不上,修改密码后遭冻结怎么办?有没有什么申诉的办法?...
- Linux IPC实践(13) --System V IPC综合实践
- python连接mysql用哪个模块_pymysql模块使用---Python连接MySQL数据库
- 57-Insert Interval
- Python-turtle库绘制蚊香、走动的时钟和数码管日期
- [转]MySQL修改root密码的多种方法
- adobe黑体std能商用_adobe黑体std字体下载
- Linux Ubuntu 安装Tomcat 7,亲测有效
- 【BZOJ】【P1406】【AHOI2007】【密码箱】【题解】【数论】
- Tomcat端口被占用,解决方法
- Java多线程面经整理
- python批量图像处理_python图像处理(4)之图像批量处理
热门文章
- matlab怎么找出奇数个数_用MATLAB绘制系统根轨迹和性能分析
- keepalived mysql双主架构图_MySQL数据库架构和同步复制流程
- Coding the Matrix Week 1 The Vector Space作业
- poj 1872 A Dicey Problem (bfs+WordFinal题)
- 毕业一年总结分享一些工作经验[PHP开发]
- C++: 对字符串转换字符集(编码)
- zend新建php文件夹,php - 对于Zend的项目模块基于一步一步转化成文件夹结构 - SO中文参考 - www.soinside.com...
- node sqlite 插入数据_Python基础系列讲解——如何使用自带的SQLite数据库
- maven 将依赖包打入jar中
- 9.linux ntp服务器搭建