标签: dash-shell

破折号 ( /bin/sh ) 中的 vi 编辑模式

TL;DR:默认的 shell 手册页说有 vi 编辑模式,但set -o vi实际上并没有启用它

在许多 shell 中,包括dashPOSIX 标准规定set -o vi将启用 vi 编辑模式,其中交互式shell 的用户可以使用 vi 样式的快捷方式导航行。在dash(Ubuntu 的默认 shell 符号链接到/bin/sh)中,这不起作用,即使手册页指定此功能可用。

例子 :

$ dash
$ set -o vi
$ hello wolrd^[I
Run Code Online (Sandbox Code Playgroud)

应该发生的是,使用Esc, Shift+i快捷方式光标应该跳到行的开头。如您所见,我得到了一个控制字符作为输出。我已经要求一些用户在 AskUbuntu Chat 中对此进行测试,他们确认了相同的行为。

请注意,这与终端模拟器无关 - 我在 3 个不同的模拟器中对其进行了测试:xterm、gnome-terminal 和终结器。我已经用其他 shell 对此进行了测试bashmksh并且ksh93- 都按预期正常工作,所以这是 -dash唯一的问题。

command-line dash-shell

6
推荐指数
1
解决办法
2209
查看次数

如何让 /bin/sh 指向 /bin/bash?

在 Ubuntu 中,默认/bin/sh指向./bin/dash

我想/bin/bash用作我的系统范围的 shell 用于/bin/sh. 做这个的最好方式是什么?

bash dash-shell

6
推荐指数
1
解决办法
1万
查看次数

如何在“-c”命令字符串中使用“sh”的命令行参数?

我知道

sh -c 'echo $1' sh 4
Run Code Online (Sandbox Code Playgroud)

将输出4. 和

sh -c 'echo $2' sh 4 5
Run Code Online (Sandbox Code Playgroud)

将输出5.

但我无法理解第二个之后的参数如何sh传递给旁边的命令sh -c。我阅读了两者的手册页bashdash但找不到有关这种语法的介绍。

command-line bash dash-shell sh

4
推荐指数
1
解决办法
2987
查看次数

Ubuntu shell 脚本

Ubuntu中不同shell有什么区别:

$ cat /etc/shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
Run Code Online (Sandbox Code Playgroud)

bash dash-shell sh

3
推荐指数
1
解决办法
454
查看次数

/bin/sh、/bin/bash 和 /bin/dash 都损坏了,如何重新安装它们

删除所有/bin/sh,/bin/bash/bin/dash。我无法安装它们,因为dpkg需要apt-get安装 shell,但没有可用的 shell。我仍然登录并且我的 Ubuntu 仍然运行。有没有办法从这种情况中恢复过来。顺便说一句,我现在没有 Live CD。

dpkg bash dash-shell

1
推荐指数
1
解决办法
8839
查看次数

标签 统计

dash-shell ×5

bash ×4

command-line ×2

sh ×2

dpkg ×1