Shell 命令替换的两种方式

命令替换(command substitution)是指 Shell 执行命令并将命令替换部分替换为执行该命令后的结果。

命令替换有两种方式:

1. 使用 backtick 符号(即 ...,反引号,重音符号)。

代码如下:

for i in `cd /old/code/dir ; echo *.c`
do
    diff -c /old/code/dir/$i $i | more
done

2. 使用 $(…) 的方式。

代码如下:

for i in $(cd /old/code/dir ; echo *.c)
do
    diff -c /old/code/dir/$i $i
done | more

注意:使用第一种方式时候,内嵌的 backtick 符号和双引号都需要进行转义。而使用第二种方式,内嵌的括号则无需转义。

(0)

相关推荐

  • Shell 命令替换的两种方式

    命令替换(command substitution)是指 Shell 执行命令并将命令替换部分替换为执行该命令后的结果. 命令替换有两种方式: 1. 使用 backtick 符号(即 ...,反引号,重音符号). 复制代码 代码如下: for i in `cd /old/code/dir ; echo *.c`do    diff -c /old/code/dir/$i $i | moredone 2. 使用 $(-) 的方式. 复制代码 代码如下: for i in $(cd /old/cod

  • Linux通过Shell脚本命令修改密码的两种方式

    交互方式修改密码 1. ssh 远程到主机: 2. 切换到root账号: [一般都是切换到root进行密码修改,如果普通用户修改自己的密码,要输入原密码,然后新密码要满足复杂度才OK]: 3. passwd username 使用passwd username 修改 username 的密码: 使用该命令会有提示,即进入了交互界面,输入密码即可. 使用脚本修改密码 很多时候我们可能需要远程执行服务器上的脚本来修改账号密码,此时就没有办法进行交互了. 此时可以使用如下两种方式修改密码: 方式1:

  • go调用shell命令两种方式实现(有无返回值)

    目录 阻塞方式(需要执行结果) 适用于执行普通非阻塞shell命令,且需要shell标准输出的 非阻塞方式(不需要执行结果) 阻塞方式(需要执行结果) 主要用于执行shell命令,并且返回shell的标准输出 适用于执行普通非阻塞shell命令,且需要shell标准输出的 //阻塞式的执行外部shell命令的函数,等待执行完毕并返回标准输出 func exec_shell(s string) (string, error){ //函数返回一个*Cmd,用于使用给出的参数执行name指定的程序 c

  • 详解shell中脚本参数传递的两种方式

    方式一:$0,$1,$2.. 采用$0,$1,$2..等方式获取脚本命令行传入的参数,值得注意的是,$0获取到的是脚本路径以及脚本名,后面按顺序获取参数,当参数超过10个时(包括10个),需要使用${10},${11}....才能获取到参数,但是一般很少会超过10个参数的情况. 1.1 示例:新建一个test.sh的文件 #!/bin/bash echo "脚本$0" echo "第一个参数$1" echo "第二个参数$2" 在shell中执行

  • python获得命令行输入的参数的两种方式

    外部直接执行python文件时,我们有时需要获得命令行的参数 获得命令行参数的两种方式 1.通过sys.argv sys.argv:获得一个参数列表,第一个值为文件名本身,通过sys.argv[1]获得第文件名后的第一个参数 ,多个参数使用空格隔开 测试代码: import sys print(sys.argv) print(len(sys.argv)) print(len(sys.argv[1])) 测试数据: python3 test.py 第一个参数 第二个参数 执行结果: ['test.

  • linux服务中开启防火墙的两种方式

    存在以下两种方式: 一.service方式 查看防火墙状态: [root@centos6 ~]# service iptables status iptables:未运行防火墙. 开启防火墙: [root@centos6 ~]# service iptables start 关闭防火墙: [root@centos6 ~]# service iptables stop 二.iptables方式 先进入init.d目录,命令如下: [root@centos6 ~]# cd /etc/init.d/

  • vbs ping实现的两种方式

    对于vbs中ping的实现可以通过两种方式 : 1.调用系统ping命令: 2.使用wmi查询pingstate类处理. 1.调用系统ping命令 Set wshell = CreateObject("WScript.Shell") wshell.run("ping 182.183.101.1",0.true) 对于以上调用,如果想对其进行过滤,可以考虑将运行结果重定向到文件,在读到一个string中,查找其中是否有timeout或超时字符,判断是否超时.本打算直接

  • Windows10安装linux子系统的两种方式(图文详解)

    Windows10支持Linux子系统了,告别繁琐的双系统.虚拟机安装,原生安装方便快捷. windows subsystem for linux简称WSL. 这里介绍2种安装方式,总有一款适合你. 图形化安装 启用开发者模式 按下 Windows 键,打开设置 设置-->更新和安全-->开发者选项-->开发人员模式 开启适用于Linux的Windows子系统按下 Windows jian键,输入控制面板 打开控制面板 打开 应用或关闭Windows功能 ,勾选 适用于Linux的Win

  • 搭建一个开源项目两种方式安装git的详细教程

    一.开始工具的安装 1.git 安装git工具有两种方式,一种就是利用自带包管理工具,一种是源码编译安装 (1)由于CentOS已经具有包管理器因此只需要一行命令即可自动安装 yum install git (2)自行下载git安装包,进行安装首先下载tar包,然后移动到root目录中 从图中可见移动的轨迹,下面使用解压命令解压,得到目录git-2.28.0 tar -zxvf 复习tar是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件. 参数: -z或--gzip或--un

  • Docker中数据卷(volume)管理的两种方式

    上篇文章给大家介绍过 docker基础知识之挂载本地目录的方法 ,今天给大家介绍Docker中数据卷(volume)管理的两种方式,具体内容如下所示: 什么是数据卷 数据卷( volume ):volume是存在于一个或多个容器中的特定文件或文件夹,这个目录以独立于联合文件系统的形式在宿主机中存在,并为数据的共享与持久化提供便利. 为什么要用数据卷 Docker分层文件系统存在的问题: Docker的镜像是由一系列的只读层组合而来的,当启动一个容器时, Docker加载镜像的所有只读层,并在最上

随机推荐