重击。用空格传递变量

问题描述 投票:2回答:1

我正在linux上使用dmenu列表选择工具。假设我的典型调用是这样的:

ls | dmenu $DMENU_OPTIONS 

。dmenurc中的设置:

DMENU_FN="Liberation:size=16"
DMENU_OPTIONS="<...> -fn $DMENU_FN"

然后,我使用了一些基于dmenu的快速启动脚本。这行需要dmenu选项:

dmenu_cmd="dmenu $DMENU_OPTIONS"

现在,我将字体名称切换为Liberation Mono,并且现在将字体片段识别为一个选项的两个参数。 Dmenu获取语法错误。我无法使用引号或反斜杠解决该问题。因此,有一个带空格键的变量应传递给另一个变量。

bash whitespace fontconfig
1个回答
0
投票

如果您将字体名称与下面的示例中的其他参数分开,并使用双引号,则可以使用:

DMENU_FONT="Dejavu Sans Mono:medium:size=18"
DMENU_OPTS="-nb #191919 -nf #FF0000 -sb #FF9318 -sf #191919"
ls | dmenu -fn "$DMENU_FONT" $DMENU_OPTS

请注意,DMENU_FONT在双引号中,而DMENU_OPTS不在双引号中,因为目标是将字体名称作为单个值返回,将第二个变量作为多个参数返回。

希望有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.