在 PS1 末尾重置颜色会重置 MirBSD KornShell 中的命令颜色
\033[0m我在重置提示的末尾有颜色代码PS1,所以我输入的内容不会被着色。 但当我使用时,ls我发现它的颜色不起作用 - 一切都是白色的。其他命令也一样。 如何让结果丰富多彩? ...
\033[0m我在重置提示的末尾有颜色代码PS1,所以我输入的内容不会被着色。 但当我使用时,ls我发现它的颜色不起作用 - 一切都是白色的。其他命令也一样。 如何让结果丰富多彩? ...
在 Android(使用mkshMirBSD Korn Shell)上,有一种特殊的字符串替换语法(称为“值替换”): ${|commands} 替换结果不是收集命令的输出(如``和),而是从分隔符内分配的变量$()中获取。$REPLY它的特殊之处在于命令不要在子 shell 中运行 - 它们在同一个 shell 中运行,并且可以访问当前 shell 会话拥有的所有内容。 Debian 有一个mksh适用于 MirBSD Korn Shell 的软件包,其行为与 Android 完全相同。 哪些 shell 支持类似的语法,其中: 命令在与父级相同的 s...
例如,user@hostname:/home/user可以不按照手册页中的示例在提示中显示,而是让 mksh 显示吗user@hostname:~? ...
如果我启动ksh或mksh,我的向上箭头不会执行任何操作: $ ksh $ ^[[A^[[A^[[A^[[A^[[A bash但如果我开始bash并按向上箭头,它就会起作用。 $ bash developer@1604:~$ ssh [email protected] -p 2223 如果我启动 ksh 或 mksh,则没有历史记录。我什至设置了 $HISTFILE 变量,但如果我启动一个新的 shell,仍然没有历史记录。 我能做什么呢? Korn shell 确实无法记住会话之间的历史记录,而 bash shell 可以吗? 如...
有没有办法既可以$val进入a ()但又不被看到b ()? set -u -e -o pipefail a () { local +x val="myval" echo "in a: VAL= $val" b } b () { echo "in b: VAL= $val" } a 生产: in a: VAL= myval in b: VAL= myval # This should not happen. 我希望使用local/ typesetoptions 而不是使用子 shell 来保护变量不被其他函数看到。 我已...
我见过 Fish shell 将进程替换作为函数实现: # === Fish shell lang: function psub mkfifo $the_pipe cat >$the_pipe & echo $the_pipe # remove pipe when bg job is done end # Example: diff (echo abc | psub) (echo def | psub) 完整代码:https://github.com/fish-shell/fish-shell/blob/m...
我刚刚安装了 mksh,不知道如何解决我遇到的一个小问题。当尝试将目录更改为父目录时,按“tab”键 mksh 无法完成。让我想象一下: $ cd .."tab" 不会结束于 $ cd ../ 为了获得此功能,需要在 mkshrc 中添加什么? 提前致谢! ...
在我的 Debian 系统上,我一直使用它pdksh作为我的交互式 shell。最初,命令行历史行为与我在 AIX 和 Solaris 等平台上成长过程中的行为类似。 最近,由于pdkshDebian 上现在由 实现mksh,命令行历史记录不再像我的手指期望的那样工作。我试图弄清楚我是否可以配置mksh做我想做的事情,或者我是否必须找到另一个习惯用法(或另一个shell)。 ksh我在 vi 编辑模式下使用(set -o vi和FCEDIT=vi)。很多时候,我会在命令提示符处立即编写简短的多行命令,即 daystrom:/home/pronovic&...
所以我尝试这样做 for x in {1..7000} do echo $x done 输出是{1..7000} 我还了解到 C 风格的 for 循环在 mksh 中不起作用 我做了一些谷歌搜索,但主要是关于 ksh 的信息,而不是 mksh 那么在 mksh 中迭代范围的正确方法是什么? 笔记:我对创建迭代和类似 C 的行为的正确方法更感兴趣,而不是打印字符串。 ...
其他 POSIX 兼容 shell 在多大程度上可以作为 bash 的合理替代品?它们不需要是真正的“直接”替代品,但足够接近以进行合作最多脚本并通过一些修改支持其余部分。 我想要显式的 bash 脚本 - initscripts、DHCP 客户端脚本等 - 只需进行最少的修改即可工作 我希望我自己收集的更专业的 shell 脚本不需要太多修改 我想要具有字符串操作和内置正则表达式模式匹配等功能 据我所知,唯一有力的竞争者是 zsh 和 mksh。因此,对于那些擅长其中一个或两个的人: bash 有哪些功能是 zsh 和 mksh 分别没有的? ...
有没有办法获取最后执行的命令以及 ksh 脚本中的参数?我正在将 mksh 与 cygwin 一起使用。 我尝试过fc -nl -1,但脚本抛出“”fc:历史函数不可用”错误。 BASH_COMMAND我在 ksh 中没有看到该变量的等效项。 以下是脚本的摘录: function trapper () { printf "culprit: " fc -nl -1 } trap trapper ERR grep -ic textdoesntexist test3 一旦 grep 返回 1 , trapper 就会执行,但我收到一个 fc...
当我在 bash 中时,我可以执行包含环境变量名称的选项卡,但使用 ksh 时我无法这样做。我怎样才能用 KSH 完成它?我正在将 mksh 与 cygwin 一起使用。 ...
printf "..." 1>&2我编写了一个脚本,该脚本在函数内部有一些注销。运行该脚本(build.sh),我注意到如果我想将 stderr 重定向到 stdout,并将 stdout 重定向到文件 [0],成功取决于顺序: ./build.sh 2> /tmp/log.txt有效(显然) ./build.sh 1>/tmp/log.txt 2>&1作品 ./build.sh 2>&1 1>/tmp/log.txt不重定向到该文件 与echo:...