什么是外壳脚本?

电脑杂谈  发布时间:2020-06-15 14:19:14  来源:网络整理

linux shell编程_shell零基础编程_shell编程是什么

什么是shell脚本

示例:

#!/ bin / sh

cd〜

mkdirshell_tut

cdshell_tut

for((i = 0; i <10; i ++));做

touchtest_ $ i.txt

完成

示例说明

第1行: 指定脚本解释器shell编程是什么shell编程是什么,这里是/ bin / sh作为解释器

第2行: 切换到当前用户的主目录

第3行: 创建目录shell_tut

第4行: 切换到shell_tut目录

第5行: 循环条件,总共10个循环

shell编程是什么_shell零基础编程_linux shell编程

第6行: 创建一个test_1…10.txt文件

第7行: 循环主体的结尾

cd,mkdir,touch是系统随附的所有程序,通常在/ bin或/ usr / bin目录中. for,do,done是sh脚本语言的关键字.

shell和shell脚本的概念

Shell是指提供接口的应用程序,用户可以通过该接口访问操作系统内核服务. KenThompson的sh是第一个UnixShell,WindowsExplorer是典型的图形界面Shell.

shell脚本(shell

script)是为shell编写的脚本程序. 行业中的Shell通常是指Shell脚本,但是读者应该知道Shell和Shell

脚本是两个不同的概念. 为了方便起见,为简洁起见,本文中的“ shell编程”是指shell脚本编程,而不是开发shell本身(例如

WindowsExplorer扩展开发).

环境

Shell编程与Java和php编程相同,只要有一个可以编写代码的文本编辑器和一个可以解释执行情况的脚本解释器即可.

操作系统

当前的主流操作系统都支持shell编程. 本文档中描述的shell程序是指Linux下的shell,它基本上描述了POSIX标准下的功能,因此它也适用于Unix和BSD(例如MacOS).

定义变量

在定义变量时,请勿在变量名称中添加美元符号($),例如:

shell编程是什么_shell零基础编程_linux shell编程

您的名字=“ qinjx”

请注意,变量名和等号之间不能有空格,这可能与您所熟悉的所有编程语言都不同.

除了直接显式分配值外,还可以使用语句为变量分配值,例如:

forfilein`ls / etc`

使用变量

要使用已定义的变量,只需在变量名称前添加一个美元符号,例如:

您的名字=“ qinjx”

echo $您的名字

echo $ {您的名字}

变量名外的花括号是可选的,可以添加也可以不添加. 添加了花括号以帮助解释器识别变量的边界,例如:

forskillinAdaCoffeActionJavado

回显“ Iamgoodat $ {skill}脚本”

完成

如果不将大括号添加到技能变量中,并回显“ Iamgoodat $ skillScript”,则解释器会将$ skillScript视为变量(值为空),并且代码执行结果与预期的不同.

建议将大括号添加到所有变量中,这是一个良好的编程习惯. 当IntelliJIDEA编写shellscript时,IDE将提示添加花括号.

shell编程是什么_linux shell编程_shell零基础编程

重新定义变量

已定义的变量可以重新定义,例如:

您的名字=“ qinjx”

echo $您的名字

您的名字=“阿里巴巴”

echo $您的名字

这是合法的,但是请注意,第二次分配值时不能写$ your_name =“ alibaba”,而在使用变量时只能添加美元符号.

单引号

str =“ thisisastring”

对单引号字符串的限制:

单引号中的任何字符都将照原样输出,并且单引号字符串中的变量无效

单引号不能出现在单引号字符串中(即使在对单引号使用转义符之后也是如此)

双引号

您的名字=“ qinjx”

str =“您好,Iknowyourare \” $您的名字\“!\ n”

linux shell编程_shell零基础编程_shell编程是什么

双引号中可以包含变量

转义字符可以用双引号引起来

字符串操作

拼接字符串

您的名字=“ qinjx”

greeting =“ hello,” $ your_name“!”

greeting_1 =”你好,$ {您的名字}!”

echo $ greeting $ greeting_1

获取字符串长度:

string =” abcd”

echo $ {#string}#输出: 4

提取子字符串

string =” alibabaisagreatcompany”

echo $ {string: 1: 4}#输出: liba

查找子字符串

string =” alibabaisagreatcompany”

echo`exprindex” $ string”是#输出: 8,这句话的意思是: 找出单词在此名称中的位置.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-246289-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 陈雨梦
        陈雨梦

        一会儿又说是伊拉克对几个谋杀萨达姆的刺客判处了死刑要入侵伊拉克并依此为由绞死了萨达姆

      • 日向穗美
        日向穗美

        人家导弹都装在发射筒里真是阿Q精神

      热点图片
      拼命载入中...