Shell编程(以及linux基本命令)

作者:
时间:2022/09/13
浏览:
评论:沙发尚在
分类:域名空间
标签:

在CentOS里,/bin/sh是一个指向/bin/bash的符号链接:root@centosraw~ls-l/bin/*sh-rwxr-xr-x.1rootroot903272Feb2205:09/bin/bash-rwxr-xr-x.1rootroot106216Oct172012/bin/dashlrwxrwxrwx.1rootroot4Mar2210:22/bin/sh->bash但在MacOS上不是,/bin/sh和/bin/bash是两个不同的文件,尽管它们的大小只相差100字节左右:iMac:~wuxiao$ls-l/bin/*sh-r-xr-xr-x1rootwheel13716486Nov16:52/bin/bash-rwxr-xr-x2rootwheel7729926Nov16:52/bin/csh-r-xr-xr-x1rootwheel21807366Nov16:52/bin/ksh-r-xr-xr-x1rootwheel13717126Nov16:52/bin/sh-rwxr-xr-x2rootwheel7729926Nov16:52/bin/tcsh-rwxr-xr-x1rootwheel11039846Nov16:52/bin/zsh***高级编程语言理论上讲,只要一门语言提供了解释器(而不仅是编译器),这门语言就可以胜任脚本编程,常见的解释型语言都是可以用作脚本编程的,如:Perl、Tcl、Python、PHP、Ruby。

LinuxLinux默认安装就带了shell解释器。

**Shell在线工具*****Shell脚本Shell脚本(shellscript),是一种为shell编写的脚本程序。

我们是用echo$?来获取上一条命令的返回值并打印出来的。

监测网站PV的变化趋势和分析其变化原因是很多站长定期要做的工作。

ping-c1baidu.com&&echotheurlisup||echotheurlisdown-c1是ping一次的意思,不指定次数会无限ping,除非用ctrl+c打断。

新增的学习成本很小,只要学会怎么使用shell解释器(Jshell、AdaScript)就可以了。

业界通常混用bash、sh、和shell,比如你会经常在招聘运维工程师的文案中见到:熟悉LinuxBash编程,精通Shell编程。

其实解释器还可以在脚本第一行指定。

运行Shell脚本有两种方法:**1、作为可执行程序**将上面的代码保存为test.sh,并cd到相应目录:chmod+x./test.sh使脚本具有执行权限./test.sh执行脚本注意,一定要写成./test.sh,而不是**test.sh**,运行其它二进制的程序也一样,直接写test.sh,linux系统会去PATH里寻找有没有叫test.sh的,而只有/bin,/sbin,/usr/bin,/usr/sbin等在PATH里,你的当前目录通常不在PATH里,所以写成test.sh是会找不到命令的,要用./test.sh告诉系统说,就在当前目录找。

由于习惯的原因,简洁起见,本文出现的”shell编程”都是指shell脚本编程,不是指开发shell自身。

被当成是一种脚本语言来设计,其运作方式与直译语言相当,由Unixshell扮演命令行解释器的角色,在读取shell脚本之后,依序运行其中的shell命令,之后输出结果。

-le|检测左边的数是否小于等于右边的,如果是,则返回true。

Perl是最老牌的脚本编程语言了,Python这些年也成了一些linux发行版的预置解释器。

可使用正则表达式(RE),正则表达式是一些特殊或不很特殊的字符串模式的集合。

其实sh最后还是指向了bash。

先来学shell脚本能干什么?shellscripts的用处这里面需要了解的:通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。

**等号两侧不能有空格**3.在bash中,变量默认类型都是字符串类型,无法直接进行数值运算4.变量的值如果有空格,需要使用双引号或单引号括起来>案例:>1、定义变量S>2、撤销变量S>3、声明静态的变量A=2

补充:把变量提升为全局环境变量,可供其他Shell程序使用。