shell脚本中/bin/bash的作用引号与括号的使用小结

 更新时间:2023年12月13日 10:32:20   作者:Hubert丶冰羽  
shell脚本通常第一句是#!/bin/bash,在很多情况中,如果没有设置好这一行,那么该程序很可能无法执行,#!/bin/bash是指此脚本使用/bin/bash来解释执行,本文给大家介绍shell脚本中/bin/bash的作用,引号与括号的使用,感兴趣的朋友一起看看吧

shell脚本通常第一句是#!/bin/bash,在很多情况中,如果没有设置好这一行,那么该程序很可能无法执行,因为系统无法判断该程序需要使用什么shell来执行

通俗点讲,#!/bin/bash: 是指此脚本使用/bin/bash来解释执行。其中,#!是一个特殊的表示符,后面紧跟着解释此脚本的shell路径。bash只是shell的一种,还有很多其它shell,比如:sh,csh,ksh,tcsh等等。

Linux Shell中有三种引号,分别为双引号(" ")、单引号(' ')以及反引号(` `)。

其中双引号对字符串中出现的$、''、`和\进行替换;单引号不进行替换,将字符串中所有字符作为普通字符输出,而反引号中字符串作为shell命令执行,并返回执行结果。具体含义如下:

双引号(" "):在双引号中,除了$, '', `和\以外所有的字符都解释成字符本身。

单引号(' '):在单引号中所有的字符包括特殊字符($,'',`和\)都将解释成字符本身而成为普通字符。

反引号(` `):在反引号中的字符串将解释成shell命令来执行。

反引号是老的用法,$()是新的用法,推荐使用$()。使用方式和反引号一致,如下:

DATE1=`date`
DATE2=$(date)

通常情况下两种形式的变量替换是等价的,但是两者还有一点区别,反引号``不支持嵌套而$()则支持嵌套,如计算目录下第一个文件的行数:

lines=$(wc -l $(ls | sed -n '1p'))
echo $lines

输出结果为:

89 anaconda-ks.cfg

此外,$() 仅在 Bash Shell 中有效,而反引号可在多种 Shell 中使用。

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

相关文章

  • 详解Shell编程之if语句实战(小结)

    详解Shell编程之if语句实战(小结)

    本篇文章主要介绍了详解Shell编程之if语句实战(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • Shell脚本实现监控MySQL主从同步

    Shell脚本实现监控MySQL主从同步

    这篇文章主要介绍了Shell脚本实现监控MySQL主从同步,此脚本应该能适应各种各样不同的内外网环境,并同时监控MySQL运行状态,需要的朋友可以参考下
    2015-01-01
  • Shell获取字符串长度的多种方法总结

    Shell获取字符串长度的多种方法总结

    这篇文章主要给大家总结分享了关于Shell获取字符串长度的多种方法,包括了利用${#str}、利用awk的length方法、利用awk的NF项、利用wc的-L参数、利用expr的length方法以及利用expr的$str : ".*"技巧来实现方法示例,需要的朋友可以参考下。
    2017-08-08
  • shell脚本学习指南[六](Arnold Robbins & Nelson H.F. Beebe著)

    shell脚本学习指南[六](Arnold Robbins & Nelson H

    这篇文章主要介绍了shell脚本学习指南[六](Arnold Robbins & Nelson H.F. Beebe著),需要的朋友可以参考下
    2014-02-02
  • linux定时任务crontab 实现每秒执行一次的方法

    linux定时任务crontab 实现每秒执行一次的方法

    linux crontab 命令,最小的执行时间是一分钟。这篇文章主要介绍了linux定时任务crontab 实现每秒执行一次的方法,需要的朋友可以参考下
    2018-03-03
  • nagios 分发文件实现代码

    nagios 分发文件实现代码

    这篇文章主要介绍了nagios 分发文件实现代码,需要的朋友可以参考下
    2014-09-09
  • shell linux中如何用shell写一个占用CPU的脚本

    shell linux中如何用shell写一个占用CPU的脚本

    本文主要介绍了shell linux中如何用shell写一个占用CPU的脚本,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Linux Shell脚本实现检测tomcat

    Linux Shell脚本实现检测tomcat

    这篇文章主要介绍了Linux Shell脚本实现检测tomcat的方法,推荐给小伙伴们,需要的朋友可以参考下
    2015-03-03
  • linux中ps -ef和ps -aux的区别

    linux中ps -ef和ps -aux的区别

    ps -ef和ps -aux均为Linux中的ps命令,是Process Status的缩写,ps命令用来列出系统中当前运行的那些进程,这篇文章主要介绍了linux中ps -ef和ps -aux的区别,需要的朋友可以参考下
    2023-10-10
  • 浅谈Shell 流程控制

    浅谈Shell 流程控制

    这篇文章主要介绍了Shell 流程控制的的相关资料,文中代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以参考下
    2020-06-06

最新评论