当前位置: 代码网 > 服务器>服务器>Linux > shell脚本中/bin/bash的作用引号与括号的使用小结

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

2024年05月18日 Linux 我要评论
shell脚本通常第一句是#!/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 引号与括号的使用内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com