学习 Shell —— 括号、引号
- shell中各种括号的作用()、(())、[]、[[]]、{}
${},大括号用于确定变量的范围;
- $(( 数学运算 ))
0. 引号
单引号、双引号、飘号( ` ,英文状态下的键盘上的波浪号)
- 单引号不解析变量
- 双引号会解析变量,用的较多
- 飘号是执行内容,类似于$(…)
[root@hadoop0 ~]# echo $(date)
Sat Mar 12 17:26:28 EST 2016
[root@hadoop0 ~]# echo `date`
Sat Mar 12 17:27:44 EST 2016
1. 大括号
touch {a,b}.txt ⇒ a.txt b.txt
touch {a..d}.txt ⇒ a.txt b.txt c.txt d.txt
2. 小括号
- $(cmd)和符号
cmd
(注意这不是单引号,在美式键盘上,`是ESC下面的那个键)有相同之处 - shell扫描一遍命令行,发现了
$(cmd)
结构,便将$(cmd)
中的cmd执行一次,得到其标准输出,再将此输出放到原来命令echo $(ls)
中的$(ls)
位置,即替换了$(ls)
,再执行echo命令。
$ ls
a b
$ echo $(ls)
a b
$ echo `ls`
a b
3. 小括号与大括号的区别:
- ()和{}都是对一串的命令进行执行,但有所区别:
- ()只是对一串命令重新开一个子shell进行执行
- {}对一串命令在当前shell执行
- ()和{}都是把一串的命令放在括号里面,并且命令之间用;号隔开
- ()最后一个命令可以不用分号
- {}最后一个命令要用分号
- {}的第一个命令和左括号之间必须要有一个空格
- ()里的各命令不必和括号有空格
- ()和{}中括号里面的某个命令的重定向只影响该命令,但括号外的重定向则影响到括号里的所有命令
4. 括号辨异
shell中各种括号的作用()、(())、[]、[[]]、{}
- 大括号:
- touch {a,b}.txt ⇒ a.txt b.txt
- touch {a..d}.txt ⇒ a.txt b.txt c.txt d.txt
- 小括号:
- $(cmd)和符号
cmd
(注意这不是单引号,在美式键盘上,是ESC下面的那个键)有相同之处 </li>
$(cmd)
<li>shell扫描一遍命令行,发现了结构,便将
$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令
echo $(ls)中的
$(ls)位置,即替换了
$(ls)`,再执行echo命令。
- $(cmd)和符号
$ ls
a b
$ echo $(ls)
a b
$ echo `ls`
a b小括号与大括号的区别:
- ()和{}都是对一串的命令进行执行,但有所区别:
- A,()只是对一串命令重新开一个子shell进行执行
- B,{}对一串命令在当前shell执行
- ()和{}都是对一串的命令进行执行,但有所区别:
- 大括号:
学习 Shell —— 括号、引号的更多相关文章
- 菜鸟教程之学习Shell script笔记(上)
菜鸟教程之学习Shell script笔记 以下内容是,学习菜鸟shell教程整理的笔记 菜鸟教程之shell教程:http://www.runoob.com/linux/linux-shell.ht ...
- 学习 shell脚本之前的基础知识
转载自:http://www.92csz.com/study/linux/12.htm 学习 shell脚本之前的基础知识 日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写sh ...
- Shell高级编程视频教程-跟着老男孩一步步学习Shell高级编程实战视频教程
Shell高级编程视频教程-跟着老男孩一步步学习Shell高级编程实战视频教程 教程简介: 本教程共71节,主要介绍了shell的相关知识教程,如shell编程需要的基础知识储备.shell脚本概念介 ...
- Shell括号之间的区别
前言 初次学习Shell,对于括号的使用肯定很困惑,所以我打算将其整理成一篇文章 单括号 { } 表达变量的值,在不引起歧义的时候可以省略大括号 例子: var=1 echo ${var} # 或者e ...
- 学习shell脚本之前的基础知识
日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写shell脚本,那么你就不算一个合格的管理员.目前很多单位在招聘linux系统管理员时,shell脚本的编写是必考的项目.有的单位 ...
- (转)跟着老男孩一步步学习Shell高级编程实战
原文:http://oldboy.blog.51cto.com/2561410/1264627/ 跟着老男孩一步步学习Shell高级编程实战 原创作品,允许转载,转载时请务必以超链接形式标明文章 原 ...
- 鸟哥的Linux私房菜-第10/11/12/13章(vim程序编辑器、学习bash、正则表达式与文件格式化处理、学习Shell Scripts)
第10章 vim程序编辑器 可以将vim看做vi的进阶版本,vim可以用颜色或底线等方式来显示出一些特殊的信息. 为何要学习vim?因为: a. 所有的 Unix Like 系统都会内建 vi 文书编 ...
- Linux Shell中单引号、双引号、反引号的区别【转载】
linux shell可以识别4种不同类型的引字符号: 单引号字符' 双引号字符" 反斜杠字符\ 反引号字符` 1. 单引号 ( '' )# grep Susan phonebook Sus ...
- 学习Shell脚本编程(第2期)_编写修改权限及执行Shell程序的步骤
编写Shell程序 执行Shell程序 Shell程序有很多类似C语言和其他程序设计语言的特征,但是又没有程序语言那样复杂.Shell程序是指放在一个文件中的一系列Linux命令和实用程序.在执行的时 ...
随机推荐
- Siteserver平台搭建
本作品由Man_华创作,采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.基于http://www.cnblogs.com/manhua/上的作品创作. 一开始什么也不懂真痛 ...
- 关于meta标签的name="viewport" 概述
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scal ...
- python 和 mysql连接
python 和 mysql连接 虫师教程:http://www.cnblogs.com/fnng/p/3565912.html 其他教程pymysql:http://www.cnblogs.com/ ...
- kotlin 语言入门指南(一)--基础语法
基于官网的Getting Start的基础语法教程部分,一共三节,这篇是第一节,翻译如下: 基础语法 定义一个包 包的声明必须放在文件头部: package my.demo import java.u ...
- Volley框架载入网络图片
Android开发中,载入网络server的图片是非经常常使用的.当然我们能够自己写server接口去实现,只是要做到server性能 优越的话,开发起来比較麻烦点.所以本博客要介绍Volley框架进 ...
- Net dll版本兼容问题
Net dll组件版本兼容问题 https://www.cnblogs.com/newP/p/9543528.html dll组件版本兼容问题,是生产开发中经常遇到的问题,常见组件兼容问题如:Newt ...
- 史上最浅显易懂的Git教程1
工作区(Working Directory)就是你在电脑里能看到的目录, 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库. Git的版本库里存了很多东西,其中最重要的就是称为stag ...
- JavaScript -- JavaScript高级程序设计
/* 基本类型 Undefined, Null, Boolean, Number, String. 复杂类型 Object 它是所有对象的基础类型. 引用类型 Object 创建:new Ojbect ...
- Mac 下 Git 的基础命令行操作
Mac 下 Git 的基础命令行操作 sudo apt-get install git-core //安装Git 用户配置 git config --global user.name "Yo ...
- testVC.modalPresentationStyle = UIModalPresentationFormSheet; 更改 VC大小
本文转载至 http://www.cocoachina.com/bbs/simple/?t31199.html TestViewController *testVC = [[TestViewContr ...