Linux里面$!作用是什么?
6个回答
展开全部
题主你好,
前提: 我们知道每个进程运行后,系统都会分配给其一个id号,这个id号和进程是关联的,我们可以通过操作该id来实现操作对应进程的目的,如通过id杀死进程等.
$!很多人解释为后台运行的最后一个进程的id号(我觉得解释为最近一次后台运行的id号更容易理解). 举个例子说一下吧,这样更直观一点.
我们先准备一个简单的脚本1.sh, 里面内容很简单,就是睡眠100秒:
下面我们在后台运行这个脚本,看一下$!的输出结果:
从上图可以看出, 脚本运行后,系统分配给它的进程id是54821, 后面我们连续输出三次$!,得到的结果是一样的,都是54821. 因为1.sh这个脚本就是我们最近一次后台运行的脚本,所以此时无论输出多少次$!结果都是一样的.
-----
接下来, 我们再运行一个内容同1.sh相同的2.sh:
可以看到, $!的输出结果变为了54860,不再是上面的54821. 因为此时2.sh是我们最近一次后台运行的脚本,因此,$!结果变为了54860.
=====
希望可以帮到题主, 欢迎追问.
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP...
点击进入详情页
本回答由Storm代理提供
展开全部
1.显示脚本参数($0、$?、$*、$@、$#、$$、$!)(本质上属于变量替换)
2. 获取变量与环境变量的值,查询命令《Linux就该这么学》
2. 获取变量与环境变量的值,查询命令《Linux就该这么学》
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2021-10-16
展开全部
有两种作用:
(1) [redhat@station5 ~]$ 此处是指普通用户的提示符,root为#。
(2) 在脚本中是指申明变量
(1) [redhat@station5 ~]$ 此处是指普通用户的提示符,root为#。
(2) 在脚本中是指申明变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有两种解释:
(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命令大全'
(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命令大全'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有两种解释:
(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
(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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询