可变扩展,包括别名定义中的空间



我很确定我在这里缺少明显的东西。我的.bashrc和.zshrc中有以下代码,原因与问题无关(但我可以解释为什么需要的原因,而不是秘密,只是不相关):

export LS_OPTIONS="-lAhF --color=auto --group-directories-first --time-style=+%Y-%m-%d %H:%M:%S"
alias ls='ls $LS_OPTIONS'

运行ls别名时,我会收到以下错误:

ls: cannot access '%H:%M:%S': No such file or directory

显然,别名并未将后斜线保持在--time-style选项中间。显然,我尝试了很多不同的引用样式来保留后背或空间,无济于事。

要使事情变得更糟,该解决方案必须在 zsh和bash中工作,所以我可以使用棘手的参数扩展。

自从我真的精通贝壳脚本以来已经有好几年了,所以我忘记了所有毛茸茸的技巧,但是我感觉在这里缺少明显的解决方案。

提前感谢,当我等待答复时,我会继续尝试不同的报价机制,以查看我自己是否找到解决方案。

尝试将您的选项放入数组中:

export LS_OPTIONS=( -lAhF --color=auto --group-directories-first --time-style=+%Y-%m-%d %H:%M:%S)

然后将其用作:

alias ls='ls "${LS_OPTIONS[@]}"'

使用'而不是'

export LS_OPTIONS="-lAhF --color=auto --group-directories-first --time-style=+%Y-%m-%d %H:%M:%S"
alias ls="ls $LS_OPTIONS"

可变扩展仅适用于"

最新更新