midnight-commander (mc) 子 shell 中的提示不同
Prompt is different in midnight-commander (mc) subshell
第一个问题:
mc 的 subshell 与 parent shell 和我的 tcsh 环境相比有不同的提示。其他的settings/variables/aliases在mc的subshell里都有,只是提示"passed"好像不对。我不知道为什么会这样。
手册页说:
An extra added feature of using the subshell is that the prompt displayed by the Midnight Commander is the same prompt that you are currently using in your shell.
背景:
我正在使用自己在本地安装的 mc.4.8.23(因为没有 root 权限)。基本上做了这两步:
./configure --prefix=<absolute path>/eda_tools/mc/mc-4.8.23/install --bindir=<absolute path>/eda_tools/mc/mc-4.8.23/bin --with-screen=ncurses
make install
mc 的其余部分工作正常。
目前我尝试过的:
- 将测试提示和测试别名放入 ~/.config/mc & ~/.mc & ~/.local/share/mc 中的 tcshrc 中。 None 这些位置似乎在 mc 启动时进行了评估。我既看不到更改的提示,也看不到测试别名。
- 暂时将.cshrc 中的提示更改为非常简单的提示。 没有帮助。
- 在 mc 的 subshell 中即时更改提示暂时有效。如此看来,提示字符串本身是可以理解的。
有人有想法吗?
尝试将带有提示设置的 tcshrc 放在 ~/.local/share/mc/ 目录中。
我无法用 tcsh 进行验证,但是这个位置对于 mc.
中的 bash 子 shell 绝对有效(使用 bashrc)
tcsh 的提示在函数 init_subshell_precmd
中的源文件 src/subshell/common.c
中进行了硬编码。为了让您的提示重新编译 mc 并应用此补丁:
--- src/subshell/common.c.org 2019-06-16 19:49:31.041841616 +0200
+++ src/subshell/common.c 2020-01-12 14:17:03.928956667 +0100
@@ -886,7 +886,6 @@
case SHELL_TCSH:
g_snprintf (precmd, buff_size,
"set echo_style=both; "
- "set prompt='%%n@%%m:%%~%%# '; "
"alias precmd 'echo $cwd:q >>%s; kill -STOP $$'\n", tcsh_fi
break;
第一个问题: mc 的 subshell 与 parent shell 和我的 tcsh 环境相比有不同的提示。其他的settings/variables/aliases在mc的subshell里都有,只是提示"passed"好像不对。我不知道为什么会这样。 手册页说:
An extra added feature of using the subshell is that the prompt displayed by the Midnight Commander is the same prompt that you are currently using in your shell.
背景: 我正在使用自己在本地安装的 mc.4.8.23(因为没有 root 权限)。基本上做了这两步:
./configure --prefix=<absolute path>/eda_tools/mc/mc-4.8.23/install --bindir=<absolute path>/eda_tools/mc/mc-4.8.23/bin --with-screen=ncurses
make install
mc 的其余部分工作正常。
目前我尝试过的:
- 将测试提示和测试别名放入 ~/.config/mc & ~/.mc & ~/.local/share/mc 中的 tcshrc 中。 None 这些位置似乎在 mc 启动时进行了评估。我既看不到更改的提示,也看不到测试别名。
- 暂时将.cshrc 中的提示更改为非常简单的提示。 没有帮助。
- 在 mc 的 subshell 中即时更改提示暂时有效。如此看来,提示字符串本身是可以理解的。
有人有想法吗?
尝试将带有提示设置的 tcshrc 放在 ~/.local/share/mc/ 目录中。 我无法用 tcsh 进行验证,但是这个位置对于 mc.
中的 bash 子 shell 绝对有效(使用 bashrc)tcsh 的提示在函数 init_subshell_precmd
中的源文件 src/subshell/common.c
中进行了硬编码。为了让您的提示重新编译 mc 并应用此补丁:
--- src/subshell/common.c.org 2019-06-16 19:49:31.041841616 +0200
+++ src/subshell/common.c 2020-01-12 14:17:03.928956667 +0100
@@ -886,7 +886,6 @@
case SHELL_TCSH:
g_snprintf (precmd, buff_size,
"set echo_style=both; "
- "set prompt='%%n@%%m:%%~%%# '; "
"alias precmd 'echo $cwd:q >>%s; kill -STOP $$'\n", tcsh_fi
break;