【发布时间】:2017-03-16 03:59:06
【问题描述】:
在 bash 中,我可以使用 %+ 或 %% 引用上一份工作,但在 /bin/sh 中我不能这样做。
考虑以下脚本:
#!/bin/[ba]sh
some_job() {
sleep 1
sleep 1
sleep 1
sleep 1
sleep 1
sleep 1
}
some_other_job() {
sleep 1
}
echo "some_job"
some_job &
echo "some_other_job"
some_other_job &
echo "sleep"
sleep 2
kill %1
jobs -l
用bash 运行它没问题,但是用sh 运行它会给我一个错误。
$ ./mwe.sh
some_job
some_other_job
sleep
./mwe.sh: 25: kill: No such process
[2] + 2446 Done
[1] + 2445 Running
$ ps
PID TTY TIME CMD
2445 pts/0 00:00:00 mwe.sh
2453 pts/0 00:00:00 sleep
2494 pts/0 00:00:00 ps
3587 pts/0 00:00:01 zsh
如何参考/bin/sh 中的职位?
【问题讨论】: