1.shell是动态、弱类型语言 ==双引号中 $ ’ ” 四种字符有特殊意义 == 注意:定义变量时,变量名和等号之间不能有空格 推荐使用时用{}把变量括起来 注意:函数内部的局部变量会屏蔽同名全局变量。就近原则 1.所有的程序,包括shell启动的程序,都能访问环境变量。必要的时候shell脚本也可以定义环境变量 自我学习总结,路过大牛请多多指导shell的变量与引用
2.shell中变量不分数据类型,统一按字符串存储
3.运行shell时,程序中同时会存在四种变量:局部变量、全局变量、环境变量、系统变量变量的类型
变量类型确定时间 1.静态类型语言 在程序编译期间确定变量类型的语言。 2.动态类型语言 在程序执行过程中才确定变量的数据类型的语言 是否强制要求类型定义 1.强类型语言 2.弱类型语言
shell变量的命名规则
变量名的命名须遵循如下规则: 1.数字、字母、下划线组成;数字不能开头 2.中间不能有空格 3.不能使用标点符号 4.不能使用bash里的关键字(可用help命令查看保留关键字) 5。Shell中变量名大小写敏感
shell中的三种引号
单引号 单引号括起来的字符均表现为普通字符。 双引号 双引号括起来的字符均表现为普通字符,除了 $ ' " 这四个字符有特殊意义。 反引号 反引号括起来的字符被shell解释为命令并执行,以其结果取代整体。
定义变量
方法一:直接定义并使用 value_name='matthew' #直接定义了变量value_name 其值为 'matthew' 方法二:使用declare或者typeset定义 为了更好控制相关属性bash提供了declare命令(typeset) 格式:declare attribute variable -p 显示所有变量的值 -i 定义变量为整数 -r 设置为只读 -a 设置为数组 -f 显示所有自定义函数(函数名+函数体) -x 设置为环境变量 例如:declare -r value_name='matthew' #定义了一个只读变量 value_name其值为'matthew' 方法三:只读变量定义 使用 readonly 命令将变量定义为只读变量,只读变量的值不能被改变 myUrl="https://www.google.com" readonly myUrl
使用变量
语法格式:${var} 1.只要在变量名前面加美元符号即可 2.变量名外面的花括号是可选的,加花括号是为了帮助解释器识别变量的边界
删除变量
语法格式:unset variable_name 1.变量被删除后不能再次使用。 2.unset 命令不能删除只读变量。
变量的作用域(使用范围)
局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量全局变量 1.脚本中定义的变量 2.函数中定义的变量 局部变量 1.函数的参数是局部变量。 2.函数内部通过local关键字定义局部变量
系统变量
shell语言系统变量主要在对参数判断和命令返回值判断时使用。 $n n从1开始;表示参数位置 $# 命令行参数个数 $0 当前shell脚本的名称 $? 前一个命令或者函数的返回状态码 $* 返回所有参数 一个字符串形式 "var1 var2 var3 ..." $@ 返回所有参数 多个字符串形式 "var1" "var2" ... $$ 返回本进程的进程ID
环境变量
2.使用env命令可以直接查看所有的环境变量Shell程序运行时都会默认接收一组变量,即环境变量。 PATH 命令搜索路径以:分割 HOME 用户主目录路径名 COLUMNS 定义了命令编辑模式下可使用命令行的长度 HISTFILE 命令历史文件 HISTSIZE 命令历史文件最多可包含的条数 HISTFILESIZE 命令历史文件包含的最大行数 SHELL shell的全路径名 PWD 当前工作目录 LOGNAME 当前登录名 IFS 定义shell使用的分隔符 TERM 终端类型 TMOUT shell自动退出时间,单位秒,若设置为0则禁止shell自动退出
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算