怎么迅速入门Shell 编程
发布时间:2022-07-15 16:21:34 所属栏目:Linux 来源:互联网
导读:什么是Shell脚本? Shell脚本(英语:Shellscript)是一种电脑程序与文本文件,内容由一连串的shell指令构成,经由UnixShell直译其内容后运作。被当成是一种脚本语言来规划,其运作方法与直译语言适当,由Unixshell扮演指令行解释器的人物,在读取shellscrip
什么是Shell脚本? Shell脚本(英语:Shellscript)是一种电脑程序与文本文件,内容由一连串的shell指令构成,经由UnixShell直译其内容后运作。被当成是一种脚本语言来规划,其运作方法与直译语言适当,由Unixshell扮演指令行解释器的人物,在读取shellscript以后,依序运转其中的shell指令,以后输出结果。使用Shellscript可以进行系统管理,文件操作等。 来看一个实例 #!/bin/sh cd~ touchtest_$i.txt done 实例解析: 第1行:指定脚本解释器,这里是用/bin/sh做解释器的 第2行:切换到当前用户的home目录 第3行:创建一个目录shell_tut 第4行:切换到shell_tut目录 第5行:循环条件,一共循环10次 第6行:创建一个test_1…10.txt文件 第7行:循环体结束 cd,mkdir,touch都是系统自带的程序,一般在/bin或者/usr/bin目录下。for,do,done是sh脚本语言的关键字。 环境 shell编程跟java、php编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。 当前主流的操作系统都支持shell编程,本文档所述的shell编程是指Linux下的shell,讲的基本都是POSIX标准下的功能,所以,也适用于Unix及BSD(如MacOS)。 cygwin mingw 脚本解释器 sh 即Bourneshell,POSIX(PortableOperatingSystemInterface)标准的shell解释器,它的二进制文件路径通常是/bin/sh,由BellLabs开发。 bash Bash是Bourneshell的替代品,属GNUProject,二进制文件路径通常是/bin/bash。业界通常混用bash、sh、和shell,比如你会经常在招聘运维工程师的文案中见到:熟悉LinuxBash编程,精通Shell编程。 在CentOS里,/bin/sh是一个指向/bin/bash的符号链接: [root@centosraw~]#ls-l/bin/*sh -rwxr-xr-x.1rootroot903272Feb2205:09/bin/bash -rwxr-xr-x.1rootroot106216Oct172012/bin/dash lrwxrwxrwx.1rootroot4Mar2210:22/bin/sh->bash 但在MacOS上不是,/bin/sh和/bin/bash是两个不同的文件,尽管它们的大小只相差100字节左右: iMac:~wuxiao$ls-l/bin/*sh -rwxr-xr-x2rootwheel7729926Nov16:52/bin/tcsh -rwxr-xr-x1rootwheel11039846Nov16:52/bin/zsh 高级编程语言 理论上讲,只要一门语言提供了解释器(而不仅是编译器),这门语言就可以胜任脚本编程,常见的解释型语言都是可以用作脚本编程的,如:Perl、Tcl、Python、PHP、Ruby。Perl是最老牌的脚本编程语言了,Python这些年也成了一些Linux发行版的预置解释器。 编译型语言,只要有解释器,也可以用作脚本编程,如Cshell是内置的(/bin/csh),Java有第三方解释器Jshell,Ada有收费的解释器AdaScript。 如下是一个PHPShellScript示例(假设文件名叫test.php): #!/usr/bin/php <?php for($i=0;$i<10;$i++){ echo$i."n"; } ./test.php 如何选择shell编程语言 熟悉vs陌生 如果你已经掌握了一门编程语言(如PHP、Python、Java、JavaScript),建议你就直接使用这门语言编写脚本程序,虽然某些地方会有点啰嗦,但你能利用在这门语言领域里的经验(单元测试、单步调试、IDE、第三方类库)。 (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |