我想设置启用的扩展,但是当我这样做时,它不起作用。echo
只是打印到控制台并执行“文件名太长”或显示 gsettings 的用法。
但是如果我复制 echo 的输出并手动将其粘贴到终端中,它就可以起作用。
set setClas = 'gsettings set org.gnome.shell enabled-extensions '
echo $setClas$val
exec $setClas$val
编辑:因此我尝试了@steeldriver 使用别名所建议的方法,但是也不起作用。
仅供参考,变量 val 是一个类似于这样的字符串:“['blah blah', 'another blah blah']”
外部双引号是字符串的一部分。csh 在执行 exec 时会删除外部双引号吗?因为如果没有外部引号,我的命令就无法运行。如果是这样,我该如何强制 csh 包含它们?
答案1
使用eval
而不是使用exec
解决了我的问题。