Linux里面$!作用是什么?

Linux里面$!作用是什么?,第1张

题主你好,

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

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

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

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

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

-----

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

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

=====

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

$的符号在在不同的地方,它所代表的定义会有所不同。例如,在bash中,$符号表示当前用户是普通用户;在bash脚本中。$从一个变量开始。

例如,以下是一些特殊变量:

$表示参数的数量

$0是脚本本身的名称

$1是传递给shell脚本的第一个参数

$2是传递给shell脚本的第二个参数

$@表示所有参数,并且所有参数都是独立的

$是正在运行的脚本的当前进程ID号

那$是显示最终命令的退出状态,0表示没有错误,其他表示有错误。

1、Linux由众多微内核组成,其源代码完全开源;

2、Linux继承了Unix的特性,具有非常强大的网络功能,其支持所有的因特网协议,包括TCP/IPv4、 TCP/IPv6和链路层拓扑程序等,且可以利用Unix的网络特性开发成出新的协议栈;

3、Linux系统工具链完整,简单 *** 作就可以配置出合适的开发环境,可以简化开发过程,减少开发中仿真工具的障碍,使系统具有较强的移植性;

扩展资料:

linnux特性:

1、基本思想

Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、 *** 作系统、进程等等对于 *** 作系统内核而言,都被视为拥有各自特性或类型的文件。

2、完全免费

Linux是一款免费的 *** 作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的 *** 作系统所做不到的。

正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。

3、完全兼容POSIX1.0标准

这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。

参考资料来源:百度百科-linux

$ 在linux里是用来给变量命令的,例如$JAVA_HOME,是指JAVA_HOME的环境变量。

echo $JAVA_HOME 可以在linux终端输出jdk的home目录。

在Shell 脚本中向脚本传递参数也会用到$,例如脚本内获取参数的格式为:$n,n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推。

实例-向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名:

#!/bin/bash

Shell 传递参数实例!"

echo "执行的文件名:$0"

echo "第一个参数为:$1"

echo "第二个参数为:$2"

echo "第三个参数为:$3"

扩展资料

另外$还可以配合几个特殊字符用来处理参数:

1、$#:传递到脚本的参数个数。   

2、$* :以一个单字符串显示所有向脚本传递的参数。

如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。   

3、$$:脚本运行的当前进程ID号 。  

4、$!:后台运行的最后一个进程的ID号。   

5、$@:与$*相同,但是使用时加引号,并在引号中返回每个参数。

如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。   

6、$-:显示Shell使用的当前选项,与set命令功能相同。   

7、$? :显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。  


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7108415.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-01
下一篇 2023-04-01

发表评论

登录后才能评论

评论列表(0条)

保存