这些类似Bash (bash
)、Z shell (zsh
)、Fish (fish
)的shell语言和上面提到的脚本语言有什么不同,使它们更适合于shell?
当使用命令行时,shell语言似乎更容易。例如,对我来说使用bash比在IPython的shell配置文件中使用要顺畅得多,尽管有相反的报道。我认为大多数人都会同意,中到大型编程的很大一部分在Python中比在Bash中更容易。我使用Python作为我最熟悉的语言。对于Perl和Ruby也是如此。
我试图表达原因,但无法做到,除了假设两者在字符串处理方面的不同有所关联。
提出这个问题的原因是我希望开发一种可同时使用的语言。如果您知道这样的语言,请也发布一下。
S.Lott解释说,这个问题需要一些澄清。我问的是关于shell语言与脚本语言的特性比较。因此,比较并不涉及各种交互式(REPL)环境的特点,例如历史记录和命令行替换。另一个表达该问题的方式是:
一个适合于设计复杂系统的编程语言是否能够同时表达有用的单行代码,以访问文件系统或控制任务?一个编程语言是否能够很好地进行扩展和缩小?
grep
命令的 N 次调用,对于非巨大文件来说,“find . -name '*.php' | xargs -d \\n grep -l 'search_string'
” 更快。 :) - intuitedxargs
和find -exec {} +
(与-exec {} \;
相对)都会将每个调用填充到允许的最大参数长度,因此不,它小于N(其中N是找到的项目数)。 - Charles Duffy