Shell 命令替换的两种方式_linux 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 符号和双引号都需要进行转义。而使用第二种方式,内嵌的括号则无需转义。

 

时间: 2024-09-21 02:50:43

Shell 命令替换的两种方式_linux shell的相关文章

Shell脚本中非交互式修改密码的两种方法_linux shell

今天在写一个shell脚本的时候发现需要设置用户的密码,而设置密码是交互式的,这样在脚本中显然是不太好的,因此上网查找资料,发现了以下两种常见的非交互式设置密码的方式: 1:使用chpasswd chpasswd其实是通过用户输入'用户名:密码'来更改一组用户的密码,还是一个可以批量修改密码的工具,具体的用法详见chpasswd用法,这里只做简单的介绍 格式:# echo 用户名:密码 | chpasswd 实例: 添加一个doiido的帐号,密码为123456 复制代码 代码如下: # ech

linux shell命令行参数用法详解_linux shell

习惯使用linux命令行来管理linux系统,例如: 复制代码 代码如下: $ date 二 11 23 01:34:58 CST 1999  $ 用户登录时,实际进入了shell,它遵循一定的语法将输入的命令加以解释并传给系统.命令行中输入的第一个字必须是一个命令的名字,第二个字是命令的选项或参数,命令行中的每个字必须由空格或TAB隔开,格式如下:  复制代码 代码如下: $ Command Option Arguments 一,选项和参数  选项是包括一个或多个字母的代码,它前面有一个减号(

Shell脚本中调用、引用、包含另外一个脚本文件的两种方法_linux shell

脚本 first (测试示例1) 复制代码 代码如下: #!/bin/bash echo 'your are in first file'  问)在当前脚本文件中调用另外一个脚本文件? 方法一: 使用 source 脚本 second (测试示例2) 复制代码 代码如下: #!/bin/bash echo 'your are in second file' source first 方法二: 使用 . 脚本 second (测试示例3) 复制代码 代码如下: #!/bin/bash echo '

Shell脚本之无限循环的两种方法_linux shell

for 实现: 复制代码 代码如下: #!/bin/bash set i=0 set j=0 for((i=0;i<10;)) do         let "j=j+1"         echo "-------------j is $j -------------------" done while实现: 复制代码 代码如下: #!/bin/bash set j=2 while true do         let "j=j+1"

linux shell实现获取用户输入指定范围的单个字符的两种方法_linux shell

方法一: 复制代码 代码如下: echo `echo {a..z}``echo {A..Z}` > /tmp/letterfilewhile read -p "please input a letter: " letterdo    ((`awk -v var="$letter" 'BEGIN{print length(var)}'` == 1)) && grep -q $letter /tmp/tmpfile && break

Shell去除空行的4种方法_linux shell

有时我们在处理和查看文件时,经常会有很多空行,为了美观或是有需要时,就有必要把这些除行去掉了,方法如下: 1)用tr命令 复制代码 代码如下: cat 文件名 |tr -s '\n' 2)用sed命令 复制代码 代码如下: cat 文件名 |sed '/^$/d' 3)用awk命令 复制代码 代码如下: cat 文件名 |awk '{if($0!="")print}' cat 文件名 |awk '{if(length !=0) print $0}' 4)用grep命令 复制代码 代码如

python: 多线程实现的两种方式及让多条命令并发执行

一 概念介绍         Thread 是threading模块中最重要的类之一,可以使用它来创建线程.有两种方式来创建线程:一种是通过继承Thread类,重写它的run方法:另一种是创建一个threading.Thread对象,在它的初始化函数(__init__)中将可调用对象作为参数传入.         Thread模块是比较底层的模块,Threading模块是对Thread做了一些包装的,可以更加方便的被使用.         另外在工作时,有时需要让多条命令并发的执行, 而不是顺序

javaweb-java根据ip判断网络连接情况(i除Java执行ping命令和InetAddress这两种方式)

问题描述 java根据ip判断网络连接情况(i除Java执行ping命令和InetAddress这两种方式) 因为ava执行ping命令和InetAddress这两种方式执行速度太慢了,有没有更好的解决方法??? 解决方案 获得客户端真实IP地址的方法一: public String getRemortIP(HttpServletRequest request) { if (request.getHeader("x-forwarded-for") == null) { return r

两种方式创建你自己的 Docker 基本映像

两种方式创建你自己的 Docker 基本映像 欢迎大家,今天我们学习一下 docker 基本映像以及如何构建我们自己的 docker 基本映像.Docker 是一个开源项目,提供了一个可以打包.装载和运行任何应用的轻量级容器的开放平台.它没有语言支持.框架和打包系统的限制,从小型的家用电脑到高端服务器,在何时何地都可以运行.这使它们可以不依赖于特定软件栈和供应商,像一块块积木一样部署和扩展网络应用.数据库和后端服务. Docker 映像是不可更改的只读层.Docker 使用 Union File