在 unix 提示符下用反斜杠分割命令时出现问题

在 unix 提示符下用反斜杠分割命令时出现问题

我经常使用空格-反斜杠组合 ( ) 将命令及其参数拆分为不同的行,使其更具可读性:

/home/user> ls -ltra \
> file1.txt \
> file2.txt

最近我在终端窗口上使用了类似格式的指令。由于我要在各种指令中使用相同的文件,因此我决定用鼠标突出显示\复制整个命令并将它们粘贴到打开的编辑器中。
很遗憾,

  1. 我只用鼠标突出显示了两个文件行,
  2. 将它们错误地粘贴到同一个终端窗口中:

像这样:

/home/user> > /home/user/file1.txt
> > /home/user/file2.txt

他们系统认为我正在覆盖文件。数据丢失了。幸好有后援!

现在我的问题是:

是否可以重新配置终端会话,使其在 split 命令开头使用除 > 符号之外的符号?不会造成如此可怕后果的事情。

例子:

/home/user> ls -ltra \
# file1.txt \
# file2.txt

更新

我在 Solaris 服务器上使用 Korn shell (/usr/bin/ksh)。 Korn 是公司的默认 shell。

答案1

如果您使用的是sh兼容 shell(例如bash),则该>提示符称为“辅助提示符”。它由变量的值设置PS2,就像PS1设置正常提示一样。

您应该能够#轻松地将其更改为:

PS2='# '

您可能想将其放入您的~/.bashrc(或您正在使用的任何 shell 的等效项中)。

答案2

它不是基于“系统”。它基于你的外壳。

在 bash 或其他 Bourne shell 中

   PS2    The  value of this parameter is expanded as with PS1 and used as
          the secondary prompt string.  The default is ``> ''.

相关内容