马哥学习笔记——shell变量类型
shell变量基础
shell 变量是一种很“弱”的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义。所以若要进行数学运算,必须使用一些命令例如let、 declare、expr、双括号等。shell变量可分为两类:局部变量和环境变量。局部变量只在创建它们的shell中可用。而环境变量则可以在创建 它们的shell及其派生出来的任意子进程中使用。有些变量是用户创建的,其他的则是专用shell变量。变量名必须以字母或下划线字符开头。其余的字符 可以是字母、数字(0~9)或下划线字符。任何其他的字符都标志着变量名的终止。名字是大小写敏感的。给变量赋值时,等号周围不能有任何空白符。为了给变 量赋空值,可以在等号后跟一个换行符。用set命令可以查看所有的变量,unset var命令可以清除变量var,var相当于没有定义过。readonly var可以把var变为只读变量,定义之后不能对var进行任何更改。对shell变量的引用方式很多,用这些方式可以方便的获取shell变量的值,变 量值的长度,变量的一个字串,变量被部分替换后的值等等。
本地变量:作用域为整个bash进程
set VARNAME=VALUE
局部变量:作用域为当前代码段
local VARNAME=VALUE
环境变量:作用域为当前shell进程及其子进程;
export VARNAME=VALUE
VARNAME=VALUE
export VARNAME
位置变量:
$1, $2, ...
特殊变量:
$0:当前脚本的文件名
$num:num为从1开始的数字,$1是第一个参数,$2是第二个参数,${10}是第十个参数
$#:传入脚本的参数的个数
$*:所有的位置参数(作为单个字符串)
$@:所有的位置参数(每个都作为独立的字符串)。
$?:当前shell进程中,上一个命令的返回值,如果上一个命令成功执行则$?的值为0,否则为其他非零值,常用做if语句条件
$$:当前shell进程的pid
$!:后台运行的最后一个进程的pid
$-:显示shell使用的当前选项
$_:之前命令的最后一个参数
转载于:https://blog.51cto.com/wangyongbin/1633889
马哥学习笔记——shell变量类型相关推荐
- 木纹标识lisp_AutoLisp学习笔记:变量类型
关于变量的几个概念: 1.符号 符号(SYMBOL)可以理解为标识,用来作为变量.函数的名字.它的命名规则是不能只含数字,可以由下列字符以外的任何可打印的字符所组成: "(".&q ...
- 马哥 mysql_马哥学习笔记十五——MySQL进阶之SQL语句
数据库: create database|schema [if not exists] db_name [character set =] [collate =]; alter database dr ...
- 马哥学习笔记二十七——IO复用
I/O动作模式 阻塞 非阻塞 I/O复用 信号驱动 异步 转载于:https://www.cnblogs.com/wangyongbin/p/3817353.html
- 马哥 mysql_马哥学习笔记五——MYSQL初步
1.mysql -u USERNAME -p -h MYSQL_SERVER linux:socket windows:memory 2.交互式模式中的命令类别 客户端命令 服务器端命令 必须使用语句 ...
- 马哥mysql,马哥学习笔记五MYSQL初步
1.mysql -u USERNAME -p -h MYSQL_SERVER linux:socket windows:memory 2.交互式模式中的命令类别 客户端命令 服务器端命令 必须使用语句 ...
- 马哥 mysql_马哥学习笔记十八——MySQL进阶之日志管理
错误日志:log_error,log_warnings 服务器启动和关闭过程中的信息 服务器运行过程中的错误信息 事件调度运行一个事件时产生的信息 在从服务器上启动从服务器进程时产生的信息 一般查询日 ...
- Go圣经-学习笔记之复合类型(二)
2019独角兽企业重金招聘Python工程师标准>>> 上一篇 Go圣经-学习笔记之复合类型 下一篇 Go圣经-学习笔记之复合数据结构(三) map介绍和简单使用 map是一种无序的 ...
- c语言存储类型关键字作用,c语言学习笔记.关键字.存储类型关键字等
关键字const 1.修饰变量. 修饰的对象为常量,只读. 2.修饰指针. const 也可以和指针变量一起使用,这样可以限制指针变量本身,也可以限制指针指向的数据. const 离变量名近就是用来修 ...
- Polyworks脚本开发学习笔记(五)-变量使用基本语法
Polyworks脚本开发学习笔记(五)-变量使用基本语法 定义变量及赋值 定义各种类型的变量 定义变量时,只需要使用DECLARE 关键字即可定义,为了区别变量和脚本中的其它字符,建议都以小写v开头 ...
最新文章
- access的未来发展 ieee_传感器行业发展路在何方 多国专家齐聚来一场头脑风暴
- Windows 脚本系列之四—映射网络盘脚本
- 第四次作业,孙保平034
- 关于JavaScript中的同步(SYNC)和异步(ASYNC)
- 【工具】WPS安卓电脑无广告版
- 用php打印九九乘法表,php如何打印出九九乘法表呢?
- java演练 循环嵌套 菱形图案的打印 四个阶段完成输出
- CSS3渐变——线性渐变
- Linux中的df命令
- 处理SQLServer死锁
- 【开源】一个有趣的文字冒险游戏
- php在线中文转英文,thinkphp页面的多语言切换,中文、英文之间的转换
- 计算机相关期刊阅读,计算机核心期刊.doc
- Golang开发环境LiteIDE的设置
- 何谓差模信号?何谓共模信号?
- Python 与量化分析
- 【Metal2剖析(三):OIT顺序无关透明渲染[Imageblock]】
- linux修改文件名字
- macos 旧版本 lightroom 找不到新镜头配置文件 新镜头配置导入lr/ps
- 压力测试ab安装 linux,Centos8下安装ab压力测试工具及ab命令详解
热门文章
- AspectJ切入点语法详解
- LA4851餐厅(求好的坐标的个数)
- hdu2067 简单dp或者记忆化搜索
- 【Android 逆向】IDA 安装 ( 使用 IDA 分析 so 动态库 )
- 【Android RTMP】NV21 图像旋转处理 ( 问题描述 | 图像顺时针旋转 90 度方案 | YUV 图像旋转细节 | 手机屏幕旋转方向 )
- 【Netty】Netty 核心组件 ( ChannelPipeline 中的 ChannelHandlerContext 双向链表分析 )
- 【Netty】NIO 通道 ( Channel ) 组件
- DOM-添加元素、节点
- Nginx初学第一步
- js中iframe访问父页的方法