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作用域的更多相关文章

  1. 【Linux】Shell三类变量的作用域——linux shell “永久环境变量”、“临时环境变量”和"普通变量"之完全解读

      2015-05-08 00:15 3896人阅读 评论(10) 收藏 举报 本文章已收录于:   分类: 软件开发进阶(419) 作者同类文章X Unix/Linux杂项(118) 作者同类文章X ...

  2. 1shell变量的作用域

    Shell 局部变量 Shell 全局变量 shell全局变量的易错点 linux shell中./a.sh , sh a.sh , source a.sh, . ./a.sh的区别 Shell 环境 ...

  3. Shell中脚本变量的作用域

    原文地址:http://blog.csdn.net/abc86319253/article/details/46341839    在shell中定义函数可以使代码模块化,便于复用代码.不过脚本本身的 ...

  4. [Z] Shell中脚本变量和函数变量的作用域

    在shell中定义函数可以使代码模块化,便于复用代码.不过脚本本身的变量和函数的变量的作用域问题可能令你费解,在这里梳理一下这个问题. (1)Shell脚本中定义的变量是global的,其作用域从被定 ...

  5. Shell变量的作用域:Shell全局变量、环境变量和局部变量

    Shell 变量的作用域(Scope),就是 Shell 变量的有效范围(可以使用的范围). 在不同的作用域中,同名的变量不会相互干涉,就好像 A 班有个叫小明的同学,B 班也有个叫小明的同学,虽然他 ...

  6. Linux Shell 通配符、元字符、转义符【转帖】

    作者:程默 说到shell通配符(wildcard),大家在使用时候会经常用到.下面是一个实例: 1   1 2 3 4 [chengmo@localhost ~/shell]$ ls a.txt  ...

  7. Linux shell 通配符 / glob 模式

    概念 glob 模式(globbing)也被称之为 shell 通配符,名字的起源来自于 Unix V6 中的 /etc/glob (详见 man 文档).glob 是一种特殊的模式匹配,最常见的是通 ...

  8. Unix Shell 通配符、转义字符、元字符、特殊字符

    shell通配符: * 匹配0或多个字符 a*b a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, a01b, ab等 ? 匹配任意一个字符 a?b a与b之间有且只有一个字符 ...

  9. shell编程变量介绍与表达式详解

    shell变量简介 变量是任何一种编程语言都必不可少的组成部分,变量用来存放各种数据.脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell 变量也遵循这个规则. 在 Bash shell ...

随机推荐

  1. EF实体类指定部分属性不映射成数据库字段特性

    添加NotMapped 特性 /// <summary> /// 用户名 /// </summary> [NotMapped] public string user_name ...

  2. HTML入门(转义字符、行内样式和块级元素、定位、锚点、跑马灯标签、图片标签、表格标签的讲解)

    一.转义字符由特殊字符包裹的文本 会当做标签去解析 对应不换行空格 对应全角空格 em是字体排印学的计量单位,相当于当前指定的点数.其占据的宽度正好是1个中文宽度,而且基本上不受字体影响.<对应 ...

  3. Hackme: 1: Vulnhub Walkthrough

    下载链接: https://www.vulnhub.com/entry/hackme-1,330/ 网络扫描探测: ╰─ nmap -p1-65535 -sV -A 10.10.202.131 22/ ...

  4. Linux下安装及使用mysql

    (注:本人在centos7进行的安装及使用) 1.安装wget yum install wget 2.下载mysql安装包 wget http://repo.mysql.com/mysql57-com ...

  5. jQuery仿京东首页广告图片切换图片轮播

    1.效果图如下: 2.源码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charse ...

  6. Shell—详解$0、$1、$2、$#、$*、$@、$?、$$变量

    预定义变量:常用来获取命令行的输入 变量 作用 $0 当前Shell脚本本身的文件名称 $1 脚本接收的第一个参数($1-$9:第1-9个命令行参数名) $2 脚本接收的第二个参数($1-$9:第1- ...

  7. (办公)记事本_Linux常用的目录命令

    参考尚硅谷的谷粒学院:http://www.gulixueyuan.com/course/300/task/7078/show#(免费看,课程很全面,用手机登录一下就行.) .[root@localh ...

  8. C# 序列化和反序列化(xml 文件)

    序列化是将对象保存为文本文件或二进制文件: 反序列化则是读取文件信息,还原为对象: 序列化保存为文本内容,主要是 xml 和 json 两种,这里介绍序列化为 xml 文件的方式. 想要序列化,先要在 ...

  9. SpringCloud学习笔记(十一、SpringCloud总结)

    SpringCloud Config: 1.动态刷新配置:通过job调用Set<String> keys = contextRefresher.refresh()这段代码即可. 2.如何实 ...

  10. BZOJ2127/LG1646 happiness 新建点最小割

    问题描述 BZOJ2127 LG1646 题解 和文理分科差不多 收益最大 -> 损失最小 -> 最小割 分别新建点表示互相关系就行了 \(\mathrm{Code}\) #include ...