0

我正在尝试配置 i3,以便仅在工作日打开应用程序。我知道这exec可以用来在启动时启动应用程序,
exec --no-startup-id telegram-desktop
但是在阅读和尝试不同的东西之后,我不知道如何exec正确使用。

目前我有这个(不起作用):
exec --no-startup-id 'test $(date +%u) -lt 6 && slack'

该命令本身有效,因为以下绑定有效:
bindsym $mod+i exec "test $(date +%u) -lt 6 && slack"

4

1 回答 1

1

尝试

exec --no-startup-id test $(date +%u) -lt 6 && slack

或者

exec --no-startup-id "test $(date +%u) -lt 6 && slack"

解释

i3仅使用双引号 ( ") 进行引用,不'以任何方式处理单引号 ( )。这意味着整个字符串'test $(date +%u) -lt 6 && slack'——包括引号——被传递给/bin/sh执行。这意味着/bin/sh将查找具有名称的命令,test $(date +%u) -lt 6 && slack而不是将其解析为以 command 开头的命令行test

于 2018-04-18T10:04:44.650 回答