Linux里面$!作用是什么?

 我来答
百度网友023b1c3
科技发烧友

2021-10-17 · 智能家居/数码/手机/智能家电产品都懂点
知道小有建树答主
回答量:1086
采纳率:84%
帮助的人:274万
展开全部

题主你好,

   前提: 我们知道每个进程运行后,系统都会分配给其一个id号,这个id号和进程是关联的,我们可以通过操作该id来实现操作对应进程的目的,如通过id杀死进程等.

    $!很多人解释为后台运行的最后一个进程的id号(我觉得解释为最近一次后台运行的id号更容易理解). 举个例子说一下吧,这样更直观一点.

我们先准备一个简单的脚本1.sh, 里面内容很简单,就是睡眠100秒:

下面我们在后台运行这个脚本,看一下$!的输出结果:

从上图可以看出, 脚本运行后,系统分配给它的进程id是54821, 后面我们连续输出三次$!,得到的结果是一样的,都是54821.  因为1.sh这个脚本就是我们最近一次后台运行的脚本,所以此时无论输出多少次$!结果都是一样的.

-----

接下来, 我们再运行一个内容同1.sh相同的2.sh:

可以看到, $!的输出结果变为了54860,不再是上面的54821. 因为此时2.sh是我们最近一次后台运行的脚本,因此,$!结果变为了54860.

=====

希望可以帮到题主, 欢迎追问.

帮助解决你的
2021-10-17 · TA获得超过190个赞
知道小有建树答主
回答量:259
采纳率:100%
帮助的人:25.8万
展开全部
1.显示脚本参数($0、$?、$*、$@、$#、$$、$!)(本质上属于变量替换)

2. 获取变量与环境变量的值,查询命令《Linux就该这么学》
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户

2021-10-16
展开全部
有两种作用:
(1) [redhat@station5 ~]$ 此处是指普通用户的提示符,root为#。
(2) 在脚本中是指申明变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小白的互联网
科技发烧友

2021-10-22 · 有一些普通的科技小锦囊
知道小有建树答主
回答量:713
采纳率:80%
帮助的人:85.1万
展开全部
有两种解释:
(1) [redhat@station5 ~]$ 此处是指普通用户的提示符,root为#
(2) 在脚本中是指申明变量,如:
#!/bin/bash
for ip in $( seq 1 254) (此处是申明数字变化范围1到254)
do
ping -c1 -w1 192.168.0.$ip &>/dev/null && echo station$ip is up || echo station$ip is down | grep up
done 命令介绍请查看'linux命令大全'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大脑门13
2021-10-16 · TA获得超过1996个赞
知道小有建树答主
回答量:6016
采纳率:43%
帮助的人:379万
展开全部
有两种解释:
(1)[redhat@station5~]$此处是指普通用户的提示符,root为#
(2)在脚本中是指申明变量,如:
#!/bin/bash
foripin$(seq1254)(此处是申明数字变化范围1到254)
do
ping-c1-w1192.168.0.$ip&>/dev/null&&echostation$ipisup、、echostation$ipisdown、grepup
done
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式