我知道它$!存储了最后一个(后台)进程的 pid,但这是什么%1意思?我经常看到它kill和它一起使用,它的效果与kill $!. 有人可以给我一个提示吗?(这么小的术语很难用谷歌搜索:-/)
Ign*_*ams 13
该%标志是指工作在当前shell的任务列表中,并返回PID。试试help jobs。
小智 8
你想要谷歌的是 man bash
有多种方法可以在 shell 中引用作业。字符 % 引入了作业名称。作业编号 n 可称为 %n。还可以使用用于启动它的名称的前缀或使用出现在其命令行中的子字符串来引用作业。例如,%ce 指的是停止的 ce 作业。如果前缀匹配多个作业,bash 会报告错误。另一方面,使用 %?ce 是指在其命令行中包含字符串 ce 的任何作业。如果子字符串匹配多个作业,bash 会报告错误。符号 %% 和 %+ 指的是 shell 对当前作业的概念,这是在前台或后台启动时停止的最后一个作业。可以使用 %- 引用以前的作业。当只有当前作业时, %- 指的是 shell 对当前作业的概念。在与作业有关的输出中(例如,jobs 命令的输出),当前作业总是用 + 标记,而前一个作业用 - 标记。单个 %(没有随附的作业规范)也指当前的作业。
只需命名作业即可将其置于前台:%1 是“fg %1”的同义词,将作业 1 从后台带到前台。类似地,“%1 &”在后台恢复作业 1,相当于“bg %1”。
TL;DR: %1是工作编号 1。
| 归档时间: |
|
| 查看次数: |
14055 次 |
| 最近记录: |