bash 中的 @ 符号什么意思?

新手上路,请多包涵

这个@不是$@中的@,而是在命令开头的@,如@echo 'hello'

阅读 5.3k
2 个回答
✓ 已被采纳新手上路,请多包涵

忘说了,这个bash是一个makefile,所以这个@貌似是makefile专有的,表示不显示该改行命令(默认会打出执行的命令)。

下面这是一个完整的关于linux中各种符号的说明:

$0           #当前执行的shell script文件名(带完整路径) 
$1 ~ $n      #依次存放shell script的命令行参数,数值大于9时必须要用{}括起来,比如${10}。命令行参数可以通过shift命令进行位移操作,位置参数根据shift命令指定的数值往前移动,如不指定移动值,则移动1次。例如: 
$*           #将所有命令行参数做为一个字符串存入此变量。 
$@           #将所有命令行参数做为一个字符串数组,每个参数为一个成员变量,存入此变量。 
$#           #命令行参数的个数。 
$?           #上一条命令执行后的返回码。 
$             #当前执行的shell script进程编号。 
$!           #上一个后台程序的进程编号。 
$_           #script执行时,存放bash的绝对路径;bash交互时,存放上一个命令最后一个命令行参数;邮件检测时,存放邮件文件名
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进