zsh 使用变量编写命令
zsh compose command using variable
以下 bash
中 zsh
中的等价物是什么?
export del='--timeout=0 --wait=0 --force'
kubectl delete pod testpod $del
在 bash
中执行它 return 正确的命令没有问题,而在 zsh
中执行的命令是 returning:
Error: invalid argument "0 --wait=0 --force" for "--timeout" flag: time: unknown unit " --wait=" in duration "0 --wait=0 --force"
因为这将用于编写重复命令,所以应该很容易复制。
当前的解决方案但“太长”无法作为答案:
echo $del | xargs kubectl delete pod testpod
eval kubectl delete pod testpod $del
kubectl delete pod testpod ${=del}
试试 xargs
:
echo $del | xargs kubectl delete pod testpod
在 zsh 中你会写
kubectl delete pod testpod ${(z)del}
(z)
告诉 zsh 对参数进行分词。
我找到的更快的解决方案是默认为工作拆分变量启用 zsh
标志,因为 bash 通常是这样做的
setopt SH_WORD_SPLIT
kubectl delete pod testpod $del
这样我就可以使用bash的名字形式
感谢@user1934428 给我正确的提示
以下 bash
中 zsh
中的等价物是什么?
export del='--timeout=0 --wait=0 --force'
kubectl delete pod testpod $del
在 bash
中执行它 return 正确的命令没有问题,而在 zsh
中执行的命令是 returning:
Error: invalid argument "0 --wait=0 --force" for "--timeout" flag: time: unknown unit " --wait=" in duration "0 --wait=0 --force"
因为这将用于编写重复命令,所以应该很容易复制。
当前的解决方案但“太长”无法作为答案:
echo $del | xargs kubectl delete pod testpod
eval kubectl delete pod testpod $del
kubectl delete pod testpod ${=del}
试试 xargs
:
echo $del | xargs kubectl delete pod testpod
在 zsh 中你会写
kubectl delete pod testpod ${(z)del}
(z)
告诉 zsh 对参数进行分词。
我找到的更快的解决方案是默认为工作拆分变量启用 zsh
标志,因为 bash 通常是这样做的
setopt SH_WORD_SPLIT
kubectl delete pod testpod $del
这样我就可以使用bash的名字形式 感谢@user1934428 给我正确的提示