流行Linux和Windows脚本语言列表

发表于:2012-7-17 09:37

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:唐尤华    来源:51Testing软件测试网采编

  具备脚本知识的系统管理员与其他系统管理员有着明显的区别。脚本是一门“系统管理员”创造的艺术。这门艺术需要了解系统本身的相关知识,系统管理命令的语法,编程和算法知识以及至少一门脚本编程语言。对系统管理员来说编写脚本有很多选择,每种脚本语言都有着自己独特的语法和优点。脚本语言之间几乎没有相似之处,但也不会像外星语那样难以读懂。脚本语言既可用来管理系统,也可以用做Web开发。基于服务端和基于客户端的脚本语言很少。客户端脚本语言大多数用来在浏览器里显示内容以及与用户进行交互。服务器端脚本语言通常用来管理系统或Web服务。本文中,我们只会关注那些用作系统管理的脚本语言。让我们开始吧!

  关于脚本应该知道的事情:

  ● 脚本应该可以作为独立的命令执行,或者可以在终端命令行接口下使用脚本语言的二进制文件调用。

  ● 如果是可执行脚本,应该在开头写出下面这行特殊的代码:

#!/path/of/the/cli

  例如bash

#!/bin/bash

  或者perl

#!/usr/bin/perl

  ‘#!’这个符号代表了执行该脚本需要调用的程序。

  Bash

  在Linux和UNIX世界里,bash脚本的数量最多。正如我们在很多文章中提到的那样,bash也是最受到大家喜爱的。基本上,bash是一个具有解释功能的命令行shell。它能够用作编程并且满足大多数的基本编程需求。在使用变量之前无需声明,也不需要知道变量的类型。它的缺点在于,使用bash没有其他的库可以利用。你可以使用的只有/bin/bash(或/bin/sh)。当你声明一个变量时,你无需在前面使用$符号,但是在使用时你需要在前面加上$表明它是一个“变量”。bash非常容易编写,Linux、UNIX以及安装了cywin程序的Windows都带有bash。如果你身为一名系统管理员但是不会bash脚本编程,你最好马上开始学习。这篇文章里列举了很多好的参考书。下面是一段简单的bash脚本。

  1. #!/bin/bash  
  2.    
  3. USER=$1  
  4.    
  5. echo "Adding User $USER in group users..."  
  6.    
  7. /usr/sbin/useradd -g users $USER  
  8.    
  9. if [ $? == 0 ]; then  
  10.         /usr/bin/passwd $USER  
  11. else  
  12.         echo "Sorry, User addition failed"  
  13. fi

  Perl

  基本上,Perl可以看做UNIX和Windows系统上的(图灵)完备编程语言。Perl的含义是实用报表提取语言(Practical Extraction and Report Language)。Perl是一种通用编程语言,起初开发Perl是用于文字处理,现在的使用范围非常广泛,包括系统管理、Web开发、网络编程、甚至GUI开发等许多场合。

  它的优点是易于使用且同时支持面向过程和面向对象编程。Perl是模块化的,易于调用第三方模块。尽管设计的目标是图灵完备的编程语言,但是自1993年面世开始Perl一直被用作编写系统管理脚本。Perl既支持编译也可以解释执行,因此Perl比bash脚本更安全。当错误发生时,bash脚本并不知道;然而,如果在执行之前编译过程中有任何错误发生Perl会拒绝启动执行。一段小的Perl脚本会让你体会Perl语言的风格。#之后的内容是注释。这段脚本会创建一个包含1000个随机数的数组,每个随机数包含16个数字:

  1. #!/usr/bin/perl  
  2.    
  3. my @numbers;  
  4. srand (time);  
  5.    
  6. for ($i=0; $i<1000; $i++)  
  7. {  
  8. $a=int 10000000000*rand();  
  9. $b=int 10000000000*rand();  
  10. $c = $a . $b;  
  11.    
  12. push @numbers,substr($c,0,16)."\n";  
  13. }  
  14. print @numbers;

21/212>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号