我在bash脚本中看到了这一行
kill -${2:-15} `cat $1.pid`
它的杀戮过程但不知道-${2:-15}
的含义。
任何人都可以解释它的含义吗?
答案 0 :(得分:2)
这意味着展开位置参数$2
,或者如果它为空则替换为15
。因此,如果使用少于2个参数调用脚本,则命令将为:
kill -15 `cat $1.pid`
答案 1 :(得分:0)
<variable>:-<default>
语法表示&#34;如果已定义,则使用$<variable>
。否则,请使用<default>
&#34;:
https://mywiki.wooledge.org/BashGuide/Parameters#Parameter_Expansion
在这种情况下,$2
是位置参数,或者是传递给脚本的第二个单词。此代码使其成为可选代码 - 如果未使用或为空,则默认为字符串15
。
发送给-15
的{{1}}标志告诉它要发送的信号类型......在这种情况下kill
应允许进程正常退出。
例如,您可以使用:
TERM
这会将script 123 9
信号发送到KILL
。我不确定cat 123.pid
是什么,但它可能包含您要杀死的已知进程的进程ID。
如果您刚刚123.pid
,则会发送script 123
。