学习 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命令和实用程序.在执行的时 ...
随机推荐
- Gson把对象转成json格式的字符串
近期在做一个java web service项目,须要用到jason,本人对java不是特别精通,于是開始搜索一些java平台的json类库. 发现了google的gson.由于之前对于protoco ...
- WikiCFP--A Wiki for Calls For Papers
WikiCFP--A Wiki for Calls For Papers ---->www.wikicfp.com/cfp/
- springboot输出日志到指定目录,简单粗暴,springboot输出mybatis日志
springboot官方文档地址https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot- ...
- JavaWeb学习总结第三篇--走进JSP页面元素
JavaWeb学习(三)—走进JSP页面元素 JSP:Java Server Pages,译为Java服务器页面.其脚本采用Java语言,继承了Java所有优点.JSP元素可以分为指令元素.脚本元素和 ...
- UVALive 6530 Football (水
题目链接:点击打开链 #include <cstdio> #include <vector> #include <algorithm> using namespac ...
- html 锚点定位
在html中设置锚点定位我知道的有几种方法.在此和大家分享一下: 1.使用id定位: <a href="#1F" name="1F">锚点1< ...
- 解决:IOS viewDidAppear/viewWillAppear无法被调用
本文转载至 http://my.oschina.net/lvlove/blog/82264 原因: 苹果的文档是这样描述的: If the view belonging to a view con ...
- python 基础 8.4 re的 spilt() findall() finditer() 方法
#/usr/bin/python #coding=utf-8 #@Time :2017/11/18 18:24 #@Auther :liuzhenchuan #@File :re的spli ...
- Java 集成域登陆
参考: 1. JAVA中使用jcifs集成AD域用户认证 2. https://liaosy.iteye.com/blog/1887092 3.其他库 https://github.com/Waffl ...
- async & await (转载)
async 和 await 出现在C# 5.0之后,给并行编程带来了不少的方便,特别是当在MVC中的Action也变成async之后,有点开始什么都是async的味道了.但是这也给我们 编程埋下了一些 ...