linuxShell_格式和工具

简介: linuxShell_格式和工具

N.1 介绍

1)不同的shell解析器,功能不同,Centos默认使用的是/bin/sh 和 /bin/bash作为shell解析器。

而sh -> bash #它们是一个软连接的关系

N.2 脚本基本制作

N.2.1 格式

1)脚本的格式

(1)编辑 vi test.sh,以sh后缀。开头要以#!/bin/sh(指定解析器)为第一行 在下面编写命令。

#!/bin/bash 是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面根的是此解释此脚本的

(2)shell的路径。#!和#不是一个意思,前者不是注释,后者是注释。

(3)注:"冒号;" 可以使用换行enter来替代,每换一次行就代表一条命令。

而尾部加 \斜杠是由于一条命令写不下,所以要求尾部加斜杠。

2)脚本的符号使用

使用双引号:如果命令有特殊字符 美元符$, 反斜杠\, 反引号, 感叹号!。比如 \ 在单引号没有转仪功能,而在双引号就有转义功能。

使用单引号:就是一个完全的字符串。如果用了复杂的命令,也可以在双引号里面嵌入单号使用。

4)编辑脚本

[root@bigData111 ~] vim test.sh

#!/bin/bash

echo "helloworld"

5)执行

(1)不加自行权限的执行

[root@bigData111 ~] bash test.sh 

[root@bigData111 ~] sh test.sh #或者使用sh自行也是可以

使用该命令执行脚本可以不用给脚本加文件权限。

(2)加执行权限的执行

[root@bigData111 ~] chmod u+x test.sh

[root@bigData111 ~] test.sh #可以直接收入即可,就不用指定解析器了。

6)注意点:

其实脚本 test1.sh 不一定非要写后缀,直接写成test1(注 要有执行权限)只不过脚本目录要保存在 /root/bin/test1目录下面,然后不管在哪一个路径下,直接test1远行命令,都会自动到 /root/bin/该目录下先查找。即用户定义的linux命令优先执行,后执行系统提供的命令。

N.3 多命令分隔符

1)Linux 在一个命令行上执行多个命令

(1)[ ; ]

如果被分号(;)所分隔的命令会连续的执行下去,就算是错误的命令也会继续执行后面的命令。

(2)[ && ]

如果命令被 && 所分隔,那么命令可能不是一直执行下去,但是中间有错误的命令存在就不会执行后面的命令,没错就直行至完为止。

(3)[ || ]

如果每个命令被双竖线 || 所分隔,那么一遇到可以执行成功的命令就会停止执行后面的命令,而不管后面的命令是否正确与否。如果执行到错误的命令就是继续执行后一个命令,一直执行到遇到正确的命令为止,注意,这不是”或“

N.4 命令嵌套

命令嵌套一定要用 ` ` 符号括起来,注意这个不是单引号,是斜单引号。

如下案例:

[root@cloud107 ~]# mkdir ` date +"%Y-%m-%d-%H:%M:%S"`.log

[root@cloud107 ~]# ll

drwxr-xr-x. 2 root root 6 8月 17 10:46 2022-08-17-10:46:08.log

N.5 shell脚本开发工具

IDEA环境配置: IDEA编写运行shell脚本 IDEA中编写并运行shell脚本的实现(IT技术)

这里编写不支持复杂的远行, 只支持一些基本的操作,有些命令只有linux有,不过可以做语法检查,这里是可以的。

格式没有写好会报错。所以先在idea编写好,然后放在llinux环境远行

 

相关文章
|
18天前
|
Java
格式
局部变量和成员变量 1.定义的位置不一样【重点】 局部变量:在方法的内部 成员变量:在方法的外部,直接写在类当中 2.作用范围不一样【重点】 局部变量:只有方法当中才可以使用,出了方法就不能再用 成员变量:整个类全都可以通用。 3.默认值不一样【重点】 局部变量:没有默认值,如果要想使用,必须手动进行赋值 成员变量:如果没有赋值,会有默认值,规则和数组一样 4.内存的位置不一样(了解) 局部变量:位于栈内存 成员变量:位于堆内存 5生命周期不一样(了解) 局部变量:随着方法进栈而诞生,随着方法出栈而消失 成员变量:随着对象创建而诞生,随着对象被垃圾回收而消失 当方法的局部变量和类的成员变量重名
14 0
|
编解码 Linux vr&ar
如何使用ffmpeg将.m4a 格式转换为 pcma格式
ffmpeg是一款开源的万能媒体格式转换工具。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的
|
11月前
|
存储 XML JSON
在线Plist文件格式转Json文件格式
Plist文件是一种用于存储应用程序配置信息的文件格式,其中包含应用程序的各种设置和数据。在过去,Plist文件通常是以 .plist 格式存储的。然而,随着时间的推移,人们开始使用 JSON 格式来存储更复杂的数据结构和数据。如果您需要将 Plist 文件转换为 JSON 格式,可以使用在线工具或命令行工具。本文将为您介绍如何使用在线工具将 Plist 文件转换为 JSON 格式。
1473. A + B 格式
1473. A + B 格式
70 0
|
Web App开发 程序员 测试技术
代码即格式:你用过这些高效工具吗?
“工欲善其事,必先利其器。” 我在工作中也用到一些使用起来非常高效的工具,今天以 “代码即格式” 为主题,跟大家介绍下两个高效工具。
126 0
代码即格式:你用过这些高效工具吗?
|
区块链
技术|形式多样的 substrate 格式
技术|形式多样的 substrate 格式
252 0
技术|形式多样的 substrate 格式
|
数据采集 存储 数据挖掘
数据预处理:自定义PDF格式批量转换TXT系统
导读:随着大数据的快速发展,自然语言处理、数据挖掘、机器学习技术应用愈加广泛。针对大数据的预处理工作是一项庞杂、棘手的工作。首先数据采集和存储,尤其高质量数据采集往往不是那么简单。采集后的信息文件格式不一,诸如pdf,doc,docx,Excel,ppt等多种形式。
3503 0
|
索引
Blender软件导出的obj数据格式文件内容解读
版权声明:本文为博主原创文章,未经博主允许不得转载。更多学习资料请访问我爱科技论坛:www.52tech.tech https://blog.csdn.net/m0_37981569/article/details/79048521 【cube.
1866 0