Bash脚本中括号和反引号的使用

 更新时间:2021年10月21日 09:38:41   作者:mrmengj  
我们经常需要引用变量或者命令的执行结果来作为文件的名字或者日志的输出,本文主要介绍了Bash脚本中括号和反引号的使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

在 Bash 脚本中,我们经常需要引用变量或者命令的执行结果来作为文件的名字或者日志的输出,在脚本或者 Shell 中我们可以使用反引号 或者括号 () 来获取到变量的内容

示例

示例 1
获取日期的输出

echo `date`
# output
2021年 01月 05日 星期二 15:21:23 CST
echo $(date)
# output
2021年 01月 05日 星期二 15:21:32 CST

通过使用反引号或者括号我们可以将命令的输出做为脚本中的内容输入,同样可以使用命令的参数来格式化输出

示例 2

获取 年-月-日 格式的日期

echo `date +%F`
# output
2021-01-05
echo $(date +%F)
# output
2021-01-05

讨论

在 Bash 中反引号和括号代表命令输入,所以在脚本中我们只能使用反引号和括号来获取命令的执行和输出结果,而不能使用脚本中声明的变量。而使用 $ 和 ${} 可以获取脚本中声明的变量而不能获取命令的输入

#!/usr/bin/bash

variable=name

# use `` to output variable
echo `variable`

# use $ to output variable
echo $variable

# use $() to output variable
echo $(variable)

# use ${} to output variable
echo ${variable}

执行的结果报错

▶ ./test

./test:行6: variable: 未找到命令

name

./test:行12: variable: 未找到命令

name

总结

1).(点)与source命令一样,从文件中读取并执行命令,无论该文件是否都有可执行权限都能够正确的执行。且是在当前shell下执行,而不是产生一个子shell来执行(我们通常使用“./filename.sh”去执行一个文件是在当前shell下产生一个子shell去执行的)

2): 该命令什么都不做,但执行后会返回一个正确的退出代码,即exit 0,类似于pass

3)() 将多个命令组合在一起执行,相当于一个命令组。

4){}  和()类似,也是将多个命令组合在一起。它们之间的区别是,()是在产生的子shell下执行,而{}是在当前的shell下执行。

5)[] 与test命令一样,用于比较值以及检查文件类型

6)[[]]可以说是[]的“增强版”,它能够将多个test命令支持的测试组合起来

7)(())专门来做数值运算,如果表达式求值为 0,则设置退出状态为 1;如果求值为非 0 值,则设置为 0。

到此这篇关于Bash脚本中括号和反引号的使用的文章就介绍到这了,更多相关Bash 括号和反引号内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • php-fpm开机自动启动Shell脚本

    php-fpm开机自动启动Shell脚本

    这篇文章主要介绍了php-fpm开机自动启动Shell脚本,本文脚本只是范例,其实你编译安装完成后,启动脚本已经生成在编译目录中,只需要复制出来用就可以了,需要的朋友可以参考下
    2015-06-06
  • Linux xargs命令如何将命令的结果作为参数

    Linux xargs命令如何将命令的结果作为参数

    xargs是给命令传递参数的一个过滤器,也是组合多个命令的工具,这篇文章主要介绍了Linux xargs命令如何将命令的结果作为参数,需要的朋友可以参考下
    2023-04-04
  • shell实现多级菜单脚本编写的示例代码

    shell实现多级菜单脚本编写的示例代码

    本文主要介绍了shell实现多级菜单脚本编写,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02
  • Linux SHELL if命令参数说明

    Linux SHELL if命令参数说明

    SHELL if命令参数介绍,方便学习shell命令的朋友,需要的朋友可以参考下
    2013-01-01
  • shell脚本中$符号的命令使用汇总

    shell脚本中$符号的命令使用汇总

    这篇文章主要介绍了shell脚本中$符号的使用示例,帮助大家更好的理解和学习shell 语言的用法,感兴趣的朋友可以了解下
    2020-11-11
  • shell脚本中一些特殊符号

    shell脚本中一些特殊符号

    这篇文章主要介绍了shell脚本中一些特殊符号,需要的朋友可以参考下
    2015-07-07
  • linux C语言开发管道通信实例详解

    linux C语言开发管道通信实例详解

    这篇文章主要介绍了linux C语言开发管道通信实例详解的相关资料,需要的朋友可以参考下
    2017-01-01
  • linux crontab 实现每秒执行的实例

    linux crontab 实现每秒执行的实例

    下面小编就为大家带来一篇linux crontab 实现每秒执行的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • ubuntu修改terminal终端的主机名的实现方法

    ubuntu修改terminal终端的主机名的实现方法

    这篇文章主要介绍了ubuntu修改terminal终端的主机名的实现方法的相关资料,希望通过本文能帮助大家,需要的朋友可以参考下
    2017-08-08
  • shell中set设置-e和 -x的用法

    shell中set设置-e和 -x的用法

    本文主要介绍了shell中set设置-e和 -x的用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06

最新评论