Unix ZSH别名打印
我正在尝试使用zsh alias使我的Unix ZSH别名打印,unix,terminal,alias,zsh,Unix,Terminal,Alias,Zsh,我正在尝试使用zsh alias使我的ls命令使用printf以更漂亮的格式打印文件。在我的.zshrc文件中,我有一行: alias lsp="printf '|%15s |%15s |%15s |\n' $(ls)" 由于某种原因,当我在命令行中输入'lsp'时,我得到:zsh:command not found:lsp 我试图找出我的别名不起作用的原因,例如,就在上面,我有一个别名可以使用:alias la=“ls-la”,当我键入la时,它会发出正确的命令 我猜带引号的东西不见了,有人
ls
命令使用printf
以更漂亮的格式打印文件。在我的.zshrc
文件中,我有一行:
alias lsp="printf '|%15s |%15s |%15s |\n' $(ls)"
由于某种原因,当我在命令行中输入'lsp'时,我得到:zsh:command not found:lsp
我试图找出我的别名不起作用的原因,例如,就在上面,我有一个别名可以使用:alias la=“ls-la”
,当我键入la
时,它会发出正确的命令
我猜带引号的东西不见了,有人有主意吗?它确实适用于
zsh 5.0.2(x86_64-pc-linux-gnu)
。在添加别名后,不要忘记源代码.zshrc
. .zshrc
它确实适用于
zsh5.0.2(x86_64-pc-linux-gnu)
。在添加别名后,不要忘记源代码.zshrc
. .zshrc
您可以(也可能应该)使用globbing,而不是使用
ls
:alias lsp=“printf'|%15s |%15s |%15s | \n'*”
。除了不需要运行外部命令外,它还具有实际处理包含空格的文件名的优点。ls
的输出是供人类使用的,很难对非普通情况下的输出进行正确解析。对于机器使用,可以使用find
或利用zsh
在全局搜索方面提供的许多功能。您可以使用全局搜索而不是使用ls
的输出:alias lsp=“printf'|%15s |%15s |%15s | \n'*”
。除了不需要运行外部命令外,它还具有实际处理包含空格的文件名的优点。ls
的输出是供人类使用的,很难对非普通情况下的输出进行正确解析。对于机器使用,请使用find
或利用zsh
在全球化方面提供的许多功能。