gpt4 book ai didi

shell - 如果我在 zsh 中回显 $0,为什么 zsh (-zsh) 前面有一个破折号?

转载 作者:行者123 更新时间:2023-12-03 23:08:47 32 4
gpt4 key购买 nike

如果在 bash 我做(从命令行)

echo $0

输出是

bash

和其他 shell 类似。

但是如果我在 中做同样的事情zsh 输出是

-zsh

为什么zsh前面有那个破折号?

最佳答案

shell 之间的一个旧约定是,如果使用以 - 开头的名称调用 shell。 ,它应该将自己初始化为登录 shell。您的终端模拟器在执行 zsh 时遵循此约定为你。

您可以使用 -l 来观察这一点。标志到 zsh的内置exec (在命令名称中添加前导 -)。

% ( exec bash -c 'echo $0')
bash
% ( exec -l bash -c 'echo $0')
-bash

领先的效果 -通常相当于使用 -l 运行 shell选项。

关于shell - 如果我在 zsh 中回显 $0,为什么 zsh (-zsh) 前面有一个破折号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60377854/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com