我试图在没有“wait cursor”的情况下启动应用程序,根据exec的i3 userguide我应该使用--no-statrup-id
选项,但它给了我“不可能”的错误。
$ exec --no-startup-id firefox
bash: exec: --: invalid option
exec: usage: exec [-cl] [-a name] [command [arguments ...]] [redirection ...]
有谁能告诉我怎么了吗?在每一本手册中,我都发现人们使用这个标志,但是
man exec
没有关于这个特性的信息。 最佳答案
i3 userguide中编写的语法用于i3配置文件,如果要在shell中运行它,请使用i3-msg
命令
i3-msg exec --no-startup-id firefox
在Bash manual中找到关于内置的
exec
:除非另有说明,否则每个内置命令都被记录为接受选项,前面加上“-”accepts“-”表示选项结束。
编辑:
我可以启动firefox,我的输出返回0和一个true
i3-msg: unrecognized option '--no-startup-id'
[{"success":true}]
我看了一下,发现一些有趣的东西
解析器规范/config.spec:
# <exec|exec_always> [--no-startup-id] command
state EXEC:
no_startup_id = '--no-startup-id'
->
command = string
-> call cfg_exec($exectype, $no_startup_id, $command)
parser specs/commands.spec:
# exec [--no-startup-id] <command>
state EXEC:
nosn = '--no-startup-id'
->
command = string
-> call cmd_exec($nosn, $command)
但是我没有足够的语法技巧可以更进一步。