i3wm |如果不是在周末,则在启动时打开应用程序
i3wm | Open application on startup if not in weekend
我正在尝试配置 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"
尝试
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
的命令,而不是将其解析为以命令 test
.
开头的命令行
我正在尝试配置 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"
尝试
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
的命令,而不是将其解析为以命令 test
.