Ner*_*nux 6 command-line bash echo
为什么运行echo $$inbash返回一个数字7190,而运行echo $只返回一个$?
Rin*_*ind 18
习俗。
$$: 扩展到 shell 的进程 ID。在 () 子shell 中,它扩展为调用shell 的进程ID,而不是子shell(请参阅下面的手册链接)。
rinzwind@schijfwereld:~$ echo $$
3244
rinzwind@schijfwereld:~$ ps -ef |grep 3244
rinzwind 3244 3237 0 19:06 pts/0 00:00:00 /bin/bash
Run Code Online (Sandbox Code Playgroud)
在编码软件时非常有用。它可以用作mktemp创建临时文件的粗略(将是更好的方法)方式
1$没有特殊意义,所以它给你回声总是做的事情:返回它。
有一个专门用于此的手册页(3.4.2 特殊参数)。
Rav*_*ina 11
在 bash 中使用我们使用的变量来声明$,使用$$第一个美元符号我们是说我想使用一个变量,使用第二个我们告诉该变量的名称实际上是 a $。它实际上是一个命名约定,这个变量包含当前 shell 的进程 id。
正如您在评论中所问的那样,$$$$您将两次返回相同的进程 ID。
还有其他变量(从这里):
$1,$2,$3, ... 是位置参数。"$@"是所有位置参数的类似数组的构造,{$1, $2, $3 ...}。"$*"是所有位置参数的 IFS 扩展,$1 $2 $3 ...。$#是位置参数的数量。$-为 shell 设置的当前选项。$$当前shell(不是子shell)的pid。$_最近的参数(或启动后立即启动当前 shell 的命令的 abs 路径)。$IFS是(输入)字段分隔符。$?是最近的前台管道退出状态。$!是最近的后台命令的PID。$0是 shell 或 shell 脚本的名称。
| 归档时间: |
|
| 查看次数: |
4664 次 |
| 最近记录: |