shell通配符, 变量, shell作用域
1. 指定格式输出当前时间:
echo `date +%Y%m%d` # 注意使用反引号, +号后面不要有空格
反引号中的东西会被当做命令来执行, 并输出执行的结果
2. $uid用于判断当前是否是root用户登陆的, 是为0, 否则非零.
3. * 匹配任意多个字符, 注意不要带引号; ? 匹配任意一个字符
[a-Z] 匹配任意小写或大写字母; [0-9] 任意数字; [abc] abc中任意一个
[^abc] 取反的意思, 匹配任意非abc的一个字符;
() 在子shell中执行括号中的命令, 如(ls), (cd xx/yy);
{} 集合; mkdir -p a/{b,c}; a目录下有b和c目录
mkdir -p a{b/m,c/n}; a目录下有b和c目录, b下有m,c下有n
还可嵌套使用: mkdir -p a{b/{x,y},c/n}; b下有x,y两个目录
{} 中的元素会被挨个拼接, 用法如下:

4. shell中变量的使用(使用$ip来引用变量):
shell中变量赋值可分为两类, 分别是显示赋值和隐式赋值
ip=1.1.1.1 或者 read ip; # read命令会读取命令行中的输入内容, 并赋值给变量ip
read -p "请输入内容: " ip
5. shell中的位置变量,
与普通变量不同, 普通变量都需要先定义(无论是显示赋值还是read), 再通过$name来引用; 而位置变量不同,
位置变量是系统内置的, 无需定义, 直接在使用处通过$number来引用即可, 其会自动从命令行中对应位置获取
值并引用.
6. shell中变量分类(当前shell和全局):
直接定义的ip=1.1.1.1只在当前shell中有效, 可使用export ip来使ip为全局作用域生效, 此处全局也只限于当前shell
及其子shell中使用, 跨端的shell是引用不到的.
7. 注意理解当前shell和子shell的区别, 当前shell中不使用export定义的变量, 使用bash, sh或相对路径执行的文件内是
引用不到变量的, 但是使用. 或者 source执行的文件是可以引用的; 同理在文件中定义的变量, 要想在shell中引用到
就必须使用. 或source来执行, 因为这两种方式是在当前shell中执行文件内容的.
8. 查看系统中已存的所有环境变量, 直接输入: env 回车即可.

basename 用来获取文件名, 使用$0时,获取到的是输入可能是带路径的文件, 常配合basename使用来获取文件名
如: basename $0; dirname 用来获取目录名称,及文件名之前的所有
shell通配符, 变量, shell作用域的更多相关文章
- 【Linux】Shell三类变量的作用域——linux shell “永久环境变量”、“临时环境变量”和"普通变量"之完全解读
2015-05-08 00:15 3896人阅读 评论(10) 收藏 举报 本文章已收录于: 分类: 软件开发进阶(419) 作者同类文章X Unix/Linux杂项(118) 作者同类文章X ...
- 1shell变量的作用域
Shell 局部变量 Shell 全局变量 shell全局变量的易错点 linux shell中./a.sh , sh a.sh , source a.sh, . ./a.sh的区别 Shell 环境 ...
- Shell中脚本变量的作用域
原文地址:http://blog.csdn.net/abc86319253/article/details/46341839 在shell中定义函数可以使代码模块化,便于复用代码.不过脚本本身的 ...
- [Z] Shell中脚本变量和函数变量的作用域
在shell中定义函数可以使代码模块化,便于复用代码.不过脚本本身的变量和函数的变量的作用域问题可能令你费解,在这里梳理一下这个问题. (1)Shell脚本中定义的变量是global的,其作用域从被定 ...
- Shell变量的作用域:Shell全局变量、环境变量和局部变量
Shell 变量的作用域(Scope),就是 Shell 变量的有效范围(可以使用的范围). 在不同的作用域中,同名的变量不会相互干涉,就好像 A 班有个叫小明的同学,B 班也有个叫小明的同学,虽然他 ...
- Linux Shell 通配符、元字符、转义符【转帖】
作者:程默 说到shell通配符(wildcard),大家在使用时候会经常用到.下面是一个实例: 1 1 2 3 4 [chengmo@localhost ~/shell]$ ls a.txt ...
- Linux shell 通配符 / glob 模式
概念 glob 模式(globbing)也被称之为 shell 通配符,名字的起源来自于 Unix V6 中的 /etc/glob (详见 man 文档).glob 是一种特殊的模式匹配,最常见的是通 ...
- Unix Shell 通配符、转义字符、元字符、特殊字符
shell通配符: * 匹配0或多个字符 a*b a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, a01b, ab等 ? 匹配任意一个字符 a?b a与b之间有且只有一个字符 ...
- shell编程变量介绍与表达式详解
shell变量简介 变量是任何一种编程语言都必不可少的组成部分,变量用来存放各种数据.脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell 变量也遵循这个规则. 在 Bash shell ...
随机推荐
- c# 保留2位小数 整数时无小数
对数值保存两位小数,有时是整数时,不需要显示两位小数.例如值为:1.32 保留两位,结果是1.32,值为:2,结果有两种显示,2和2.00 /// <summary> /// 金额 /// ...
- Android-再次解读萤石云视频
### 前言 我之前写过一篇萤石云的集成文章,很多人问我有没有demo, 今天我再次总结一下, 并加个些功能. - 集成步骤 - 视频预览播放 - 视频放大缩小 - 视频的质量切换 - 截图 - 视频 ...
- 2019 DevOps 必备面试题——容器化和虚拟化
原文地址:https://medium.com/edureka/devops-interview-questions-e91a4e6ecbf3 原文作者:Saurabh Kulshrestha 翻译君 ...
- TICK技术栈(五)Kapacitor安装及使用
1.什么是Kapacitor? Kapacitor是InfluxData开源的数据处理引擎.它可以处理来自InfluxDB的流数据和批处理数据,并且用户可以用tickScript脚本来处理,监视和警报 ...
- 菜鸟刷面试题(一、Java基础篇)
目录: JDK 和 JRE 有什么区别? == 和 equals 的区别是什么? 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗? final 在 java 中有什 ...
- php 判断空
结果: 结论:$a != false 这种判断方式比empty() 速度更快
- Jmeter参数化-CSV Data Set Config
前言 一般来说,我们使用Jmeter来模拟HTTP请求时,比如模拟查询学生信息,我们通常把查询接口的入参(如学生姓名)写在HTTP请求中.当只需要查询1个学生的信息时,我们可以把这名学生的姓名准确的写 ...
- intelj idea中除了Find Usage外的另一种查找级联调用的方法
一.方法 平时都是使用find usage来找一个方法的引用的地方,但是只能查看一级,今天偶然发现个查看多级的办法: 在源码编辑界面:
- 【开发工具】本机安装的JDK8,启动IDEA2019没反应
问题描述 本来开发工具安装的是IDEA2018,有天用着用着突然崩溃了,重启后死活用不了.心血来潮下载了2019版本,顺利安装完,但是点击快捷方式启动的时候一直没反应.后来咨询同事,在下面的启动脚本中 ...
- Java题库——Chapter6 一维数组
1)What is the representation of the third element in an array called a? 1) _______ A)a(3) B) a(2) C) ...