T. *_*ent 8 command-line bash zsh macos
在探索 zsh 终端中与 mv 相关的一些标志时,我遇到了以下提示:overwrite untitled folder 2/test.txt? (y/n [n])
我的问题是括号中的第二个 n 寻求询问或建议是什么?为什么提示不只是y/n
,为什么呢y/n [n]
?
这是什么意思?有人可以解释一下 的意义[n]
吗?
Sté*_*las 15
zsh
不是终端,它只是一个 shell,一种具有交互模式的编程语言,专门用于运行其他命令。
终端仿真器,例如xterm
,gnome-terminal
为运行您的登录 shell\xc2\xb9 作为显示在那里的初始应用程序。
在 shell 提示符下,您通常运行其他命令,例如ls
,vi
等,这些命令也会输出到终端。
并不是因为终端窗口的标题是xterm
or zsh
,所以您在其中看到的内容是由xterm
or输出的zsh
本身输出的。它由任何将其写入与终端窗口关联的伪终端设备的应用程序显示。
具体来说,overwrite untitled folder 2/test.txt? (y/n [n])
这不是 zsh shell 输出的消息,zsh 不会覆盖“文件夹”。zsh 是一个 Unix shell,“文件夹”甚至不是 Unix 术语。在 Unix 中你有“目录”,而不是“文件夹”\xc2\xb2。
话虽如此,使用y/n [n]
是在终端上提示用户时非常常见的习惯用法。一般形式为:
Question? acceptable-answers [default]\n
Run Code Online (Sandbox Code Playgroud)\n或者诸如 openSUSE 之类的变体zypper
:
Continue? [y/n/v/...? shows all options] (y):\n
Run Code Online (Sandbox Code Playgroud)\n它会提出一个问题,可选择列出可接受的答案,并说明当您什么都不回答时的默认答案是什么。
\n因此,这里是一个是/否答案,默认答案是“否”。
\n例如,当询问一堆问题来配置某些软件时,该表单非常有用,以便用户可以一直按 Enter 键,除非他们想要修改默认设置。
\n除了完整的 TUI 之外,其他常见形式还将设置列出为:
\n1. setting1: current-value\n2. setting2: value2\n3. ...\n\nWhat setting would you like to change?\n
Run Code Online (Sandbox Code Playgroud)\n并让用户选择他们想要更改的内容(所选设置的下一个提示仍然可以使用question? x/y/z [x]
)。
\xc2\xb9 以及环境中引用的 shell,$SHELL
它恰好是在登录时从登录 shell 初始化的
\xc2\xb2 不过,我们最近确实看到 Microsoft 术语泄漏到 Unix,特别是在桌面环境中。
\n