命令替换和文件名通配符(笔记)

命令替换

个人理解就是在一个命令里边执行夹杂的其它命令

例: touch file-$(date +%F-%H-%M-%S).txt

反引号`` 是Tab键上边的那个键 也可用来命令替换 指先执行此命令

例: touch file-`date +%F-%H-%M-%S`.txt

""双引号 可实现变量替换

‘‘单引号 不完成变量替换 强引用 个人不太理解此两项等以后再做解释

文件名通配符 globbing

*星号    表示任意长度任意字符

?问号    表示任意单个字符

[]中括号    匹配指定范围内的任意单个字符

[abc]    表示选abc一个

[a-m]    匹配 a b c d e f g h i j k l m

[a-z]    匹配所有小写字母 [A-Z] 你懂得

[0-9]    所有数字

[^]    匹配指定范围之外的任意字符

[[:space:]] 空白字符 里边中括号表示空白字符外边括号表示集合

[[:punct:]] 标点符号集合

[[:lower:]] 小写字母

[[:upper:]] 大写字母

[[:digital:]] 所有数字

[[:alpha:]] 所有大小写字母

[[:alnum:]] 数字和大小写字母

时间: 2024-08-02 22:18:18

命令替换和文件名通配符(笔记)的相关文章

linux学习记录-命令替换-通配符-重定向-管道

命令替换:$(command),`command` touch ./file-$(date +%F-%H-%M_%S).txt bash支持的引号有三种: ``:命令替换 "":弱引用,可以实现变量替换 '':强引用,不完成变量替换 文件名通配 globbing * 任意长度的任意字符 ? 任意长度单个 [] 匹配指定范围内的任意单个字符 [^] 匹配范围外的 > 覆盖 >> 追加输出 -C 禁止对已经存在文件使用覆盖重定向 强制覆盖输出,则使用>| +C 关闭

linux常用命令-命令行编辑,history,命令行快捷键,pstree,alias,命令替换,通配符

命令行编辑:光标跳转: Ctrl+a:跳到命令行首 Ctrl+e:跳到命令行尾 Ctrl+u: 删除光标至命令行首的内容 Ctrl+k: 删除光标至命令行尾的内容 Ctrl+l: 清屏 Ctrl+d: 删除光标后面内容 命令历史:查看命令历史:history -c:清空命令历史 -d OFFSET [n]: 删除指定位置的命令 -w:保存命令历史至历史文件中 环境变量PATH:命令搜索路径HISTSIZE: 命令历史缓冲区大小 命令历史的使用技巧:!n:执行命令历史中的第n条命令: [[emai

SHELL脚本攻略(读书笔记)--1.11 命令替换和子shell的作用

1.11.1 命令替换 Linux中使用反引号"``"(在波浪线的按键上)或者$()来执行命令替换.一般以$()更直观也更方便敲入. [[email protected] tmp]# echo Can you tell me what date it is?  Oh my pleasure $(date +%F)                    Can you tell me what date it is? Oh my pleasure 2016-09-25 [[email p

Shell中命令替换$(...)与后置引用`...`的区别与联系

一. 命令替换 a.在bash中,$( )与``(反引号)都是用来作命令替换的. b.命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行. 例子1: $ echo today is $(date "+%Y-%m-%d") today is 2014-07-01 二. $( )与``(反引号) (1)区别 `CMD`在执行时,shell会不管``内是什么都先进行解释,再把解释后的最终结果送给shell去执行.如果解释后的最终结果

bash算数运算&命令替换

1.bash脚本编程之算数运算 + - * / % declare -i num3=5 //直接声明为整数 declare -i num4=6 echo "$num3+$num4" //结果为5+6 (1) let c="$num1+$num2" (2) echo "$[$num1+$num2]" //$中括号和小括号,let,expr (3) echo "$(($sum1+$sum2))" (4) expr $num2 +

Bash的命令替换

命令替换:将命令替换为命令的输出,所有的shell支持使用反引号的方法进行命令替换.Bash支持两种形式:$(command) 和`command`命令替换是可以嵌套的,如果使用反引号的形式,在内部反引用前必须使用反斜线转义. 例子:$echo $(pwd)或$echo `pwd` 命令替换嵌套$echo `basename \`pwd\``或$echo $(basename $(pwd)) //嵌套更方便 =-=-=-=-=Powered by Blogilo

使用Linux的alternatives命令替换选择软件的版本

上周在安装搜索引擎Elasticsearch时,要求安装比较新的java 版本,我选择了java 1.8.0,安装java 成功后使用java -version 发现使用的版本仍旧是1.6.0, 查询了一些资料,发现可以使用Linux的alternatives命令替换选择软件的版本. 说明:alternatives --install <link> <name> <path> <priority>其中,install表示安装link是符号链接name则是标识

关于Shell中命令替换$(...)与后置引用`...`的不同

命令替换 在bash中,$( )与` `(反引号)都是用来作命令替换的.命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行. $( )与`` 在操作上,这两者都是达到相应的效果,但是建议使用$( ),理由如下: ``很容易与''搞混乱,尤其对初学者来说. 在多层次的复合替换中,``必须要额外的跳脱处理(反斜线),而$( )比较直观. 最后,$( )的弊端是,并不是所有的类unix系统都支持这种方式,但反引号是肯定支持的. # 将cmd1

Linux Gvim shell 替换:变量替换,命令替换,转义字符

替换:如果表达式中含有特殊字符,shell会进行替换.例如在双引号中使用变量就是一种替换.转义字符也是一种替换 #!/bin/bash a=10 echo -e "Value of a is ${a} \n" #-e表示对转义字符替换,不加的话输出如下# echo "Value of a is ${a} \n" 转义字符替换 下列转义字符可用于echo 1.       \\     反斜杠        2.    \a     警报,响铃 ?3.   \b