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命令 linux文本内容操作系列-awk命令详解
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理2016-06-06bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpret
这篇文章主要介绍了bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No such file or directory,需要的朋友可以参考下2014-10-10Linux 自动化构建工具make/Makefile的使用详解
这篇文章主要介绍了Linux 自动化构建工具 make/Makefile,要如何编译.c文件,关键就在于Makefile是怎么写的,下面我们主要介绍这两者的使用,需要的朋友可以参考下2022-04-04
最新评论