linux服务器脚本语言,Linux最通用的脚本语言是?

每个类似unix的操作系统上都有两种编程环境,它们都是图灵完备的,并且可以调用其他程序:awk和sh,Bourne / POSIX shell系列。AWK面向文本处理(它补充了更多的专用实用程序),而sh则面向成为将程序组合在一起的粘合语言。Sh是Linux和整个Unix世界上的通用脚本语言。

的POSIX标准定义的sh本身和相关的设施的强制特征。大多数类unix的系统都符合POSIX 1003.1-2004(又名Single Unix v3,又名Open Group Base Specification第6期);该标准的最新版本是POSIX 1003.1-2008(又名Single Unix v4,又名Open Group基本规范第7期)。

每个Linux和unix或类似Unix的系统在路径上都具有Bourne样式的外壳/bin/sh,而任何非古色古香的系统都具有POSIX兼容的外壳(除非出现偶然的错误)。每个现代的类unix系统(包括Linux)都支持shebangs,因此/bin/sh如果第一行是,它会自动运行in脚本#!/bin/sh。有些POSIX系统sh位于另一个位置(通常是OS上的仿真层,您不会认为它真的像Unix一样)。

嵌入式Linux系统可能具有未实现所有POSIX功能的精简BusyBox系统。BusyBox具有大量的编译时选项以适应小型系统,因此很难事先知道会发生什么,因此必须针对特定设备定制脚本。BusyBox是sh和各种实用程序的最常见的小型实现;您可能会遇到的另一种情况是Android中的外壳环境大大减少(以后的版本较贫乏)。

非嵌入式Linux系统几乎总是要么破折号或庆典的/bin/sh。Dash是一个小型且快速的shell,除了POSIX功能外还实现了其他功能。Bash是具有更多功能的较大外壳。

非嵌入式Linux系统几乎总是将Bash安装为/bin/bash。因此,为了在非嵌入式Linux系统上具有可移植性,您可以假定bash可用。bash有用的附加功能包括数组,方便处理点文件的功能,pipestatus用于获取管道中所有命令的返回状态的变量,用于文件时间的附加比较运算符以及(在最新版本中)正则表达式匹配。

Shell编程的特征之一是您不仅在使用该sh程序,而且还在使用许多实用程序。Linux上的大多数文件操作和文本处理实用程序都是GNU coreutils(在嵌入式系统上,它们通常来自BusyBox)。

如果您需要Linux以外的可移植性,最好的选择是坚持使用POSIX。其他unix变体可能未安装bash(bash是OSX上标准安装的一部分,但是* BSD和大多数商业unice上的可选软件包)。除Linux和OSX以外,几乎所有的unix变体(即* BSD和商用的unices)都具有Korn shell的某些版本,至少是pdksh。bash的许多方便扩展都来自ksh,因此编写可以在两者下运行的脚本会很有用,但是检测bash或ksh在未知系统上的位置可能会有些麻烦。

外壳不能做所有事情。如果您需要更复杂的语言,则可以选择两个更常见的选择:Perl和Python(其他任何作为unix脚本语言都落后的地方)。Perl是传统的脚本语言,很少有非嵌入式Linux系统缺少它,但是Python逐渐普及(在某种程度上,它是Ubuntu推荐的脚本语言)。在非Linux世界中,Perl是OSX和OpenBSD上的基础安装的一部分。它是可选的,但通常安装在FreeBSD上,并且是可选的,但通常安装在NetBSD上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值