我使用 bash,并且已经使用了十多年 - 但偶尔我想知道 Linux shell 世界是否有任何重大的新发展。

几年前,微软发布了 PowerShell,看起来非常有趣。Linux shell 中是否有类似的创新?

有帮助吗?

解决方案

您可以通过以下方式在 Linux 上运行 PowerShell 帕什. 。它使用 Mono 就像 PowerShell 使用 .NET 一样。

其他提示

你确实意识到 bash 4 最近发布了许多新功能和语言添加吗?

  • 外壳选项 globstar (**/foo) 进行递归搜索, dirspell 修复路径名扩展期间的拼写错误。
  • 关联数组,将字符串映射到字符串,而不仅仅是数字到字符串。
  • autocd shell 选项允许通过键入目录路径来更改目录,而不必输入 cd 在前。
  • 协进程
  • &>>|& 重定向两者的重定向运算符 stdoutstderr
  • 对现有内置函数进行了大量添加,以提高脚本编写的便利性。

查看:

我看一看的zsh或fishshell。

一个巴什(和其他几个弹)的至少吹捧的特点是写自己的loadables,并有shell中运行它们作为内建的能力。

比方说你写的装载“上” ..你想让它这样工作:

on node 123 run some command
on class nodes run some command
on all nodes run some command

...等等。

您可以按照如何编写一个可加载简单的例子,然后再启用它建于通过bash使-f /路径/到/加载loadable_name

所以在我们的情况下,使-f /选择/庆典/ loadables /上

...在你的.bashrc,你已经知道了。

所以,如果你想拥有的bash解释你的漂亮的新语言本身,你会写一个名为“使用”或“switch_to”加载,然后修改解析器加载不同的语法/运行时,如果某个环境变量设置

即:

#/bin/bash

switch_to my-way-cool-language

funkyfunc Zippy(int p) [[
   jive.wassup(p) ]]

大多数人的的会想破解它们的壳,但是。我想指出的是,设施存在采取击,让你想要的方式,无需摆弄太多与核心代码。

请参阅/路径到bash的源/例子/ loadables,你也许能够得到那个飞在哪里工作,因为你仍然使用bash。

我认为 “原始改进的壳” 是的 ksh93的即可。的bash来到在当ksh的源代码是专有的一个时间存在;如果KSH已经开源的话,它可能不会被认为需要有一个新的shell(虽然与FSF你永远不知道)。 KSH是值得研究的,特别是对于它的能力到C模块进行扩展,但它不是在bash的一个明确的胜利。 bash的自动补显然更胜一筹,这可能是足以让整个庆典的胜利。在任何情况下的bash和ksh做出大量努力收敛,所以差异是次要的。

另一个有趣的是外壳的的zsh 下,它试图是的ksh是同时还包括CSH一切。因为我从来没有看到任何点或用途CSH,我不是提倡的zsh的合适人选。我要指出一个不寻常的不兼容:在默认情况下,在zsh中的变量$var总是的展开为一个单一的道理,即使它包含空格。此行为是与所有其他SH衍生弹不兼容,这是偶尔不方便,但实际上它使得比原来很多更有意义,而且节省了大量引用的地狱。

CSH是第一个外壳有作业控制,但在我心中它(和它的后继者)已经由bash和ksh的取代。这是从来没有mucn乐趣编写脚本。

最后,还有专为抢救软盘许多微小的壳(!)和其他斯巴达的环境,但它听起来像是你在那些没有什么兴趣。

(在创新的问题上,我要补充一点,一半以上的脚本我以前写的shell脚本现在 Lua的脚本,其他人可以说对Python或Ruby,或在当天回,Perl或Tcl的一样。所以我认为,真正的创新是移民从壳在命令行可编程的互动了。)

IIRC,Powershell的是面向对象的,而大多数UNIX壳和效用上的文本进行操作。在这方面,松鼠壳牌你可能会感兴趣。我从来没有使用它,但。

如果你愿意失去sh兼容性,你可以看看使用脚本语言如Python或TCL作为它的外壳。 rlwrap 可以非常方便的,如果解释不提供行编辑,命令历史上,完成等

关于壳的一个理念是它们应该主要仅被用于连接与文件的进程(这里是一个页面,拥护这种做法)。这就是说,人已经开始使用他们写了一些非常复杂的软件。

弹不来比方案谢尔更inovative。所有运行的Unix的能力相结合方案的功率命令的嵌入式AWK解释器(写入方案,当然)。唯一的缺点是,它需要的修补一点点的基础上64位Linux。

这是不完全的Bourne外壳,但它是不同的。当然,你要学会计划 - 奖金

如果你喜欢红宝石,可以使用高峰(红宝石UNIX壳,不IRB)

看到的呈现此处

HTTP://www.slideshare。净/ adamwiggins /高峰的-红宝石壳UNIX的一体化库

或官方网站上看到更多的例子

http://rush.heroku.com/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top