我尝试用alfred编写一个/bin/bash脚本,该脚本将在某一时刻暂停-并在用户按下键盘键(或其他快捷键)时继续执行。
我尝试了下面的bash-cmd命令(见下文),它会启动一个进程,然后在第二行尝试挂起相同的进程。但是,不幸的是,脚本只是继续运行而不会暂停!
/usr/local/bin/myProcessName $arg0
pkill -STOP -nf '/?(bash|sh)[ ]+(.*/)?'"myProcessName"'( |$)'
/usr/local/bin/myProcessName $arg1这里的想法是为alfred提供另一个快捷脚本,以再次恢复相同的过程,例如:
pkill -CONT -nf '/?(bash|sh)[ ]+(.*/)?'"myProcessName"'( |$)'但是再说一次,暂停一开始就没有起作用!
我还尝试给出进程名的完整路径,例如:(但没有区别-脚本中没有停顿!)
/usr/local/bin/myProcessName $arg0
pkill -STOP -nf '/?(bash|sh)[ ]+(.*/)?'"/usr/local/bin/myProcessName"'( |$)'
/usr/local/bin/myProcessName $arg1否则我如何才能给alfred提供我需要的功能(即使用一个参数调用应用程序,然后让用户决定何时处理第二个参数(即“按键继续...”功能性?)
发布于 2018-07-19 19:14:34
我不确定这是否是您想要的,但是如果您尝试传递两个参数,一个在延迟之后,那么使用命名管道如何?
如果您创建一个命名管道
mknod /tmp/foo.pipe p使用像这样的脚本,称之为stop.sh,
#!/bin/bash
arg1=$1
arg2=$(cat <foo.pipe)
echo $arg1 $arg2你可以跑
bash stop.sh foo然后将第二个参数从另一个shell或进程写入管道
echo bar >>/tmp/foo.pipe在将第二个参数写入管道之前,脚本将被阻塞。
https://stackoverflow.com/questions/51419563
复制相似问题