shell基础应用

一丶什么是shell?

Shell是在linux你忽然与用户之间的解释器程序,通常指的是bash,负责想内核翻译及传达用户/程序指令

Shell的使用方法:

1.交互式执行指令:人工干预,执行效率低.

2.非交互执行指令:安静地在后台执行,执行效率高,方便写脚本.

cat /etc/shell    查看本机所有的解释

yum -y install ksh   安装新解释器

bash的优点

tab补齐 别名 快捷键 历史命令 管道 重定向

编写Shell脚本规范

1.声明解释器

    #!/bin/bash

2.注释,可以说明脚本功能,变量的作用等

3.执行代码

+x权限

直接使用解释器执行,使用新解释器执行(开启子进程)

使用source(或者 .+空格  )命令执行,使用当前解释器执行(不开启子进程)   //source test01.sh

部署yum仓库脚本:

!/bin/bash

部署yum

echo "[adc]

name=adc

baseurl=http://content.example.com/rh..._64/dvd

enabled=1

gpgcheck=0" > /etc/yum.repos.d/adc.repo

数字货币http://www.gendan5.com/digita...

部署ftp脚本:

!/bin/bash

yum -y install vsftpd &> /dev/null

systemctl restart vsftpd

 systemctl enable vsftpd

常量:固定不变

变量:灵活多变,脚本多使用变量可以增加性能

变量的种类

1.自定义变量

        变量名称=变量的值 定义变量值的过程叫做赋值,名称的定义可以用大小写字母,数字,下划线,不能以数字开头,不能使用特殊符号

a=20  //定义变量

echo $a  //调用变量

a1=20

1a=20   //定义失败

a_1=20

a$=20   //定义失败

a=40

echo $a RMB

unset a   //取消变量定义

环境变量

UID当前用户的ID  USER当前用户名 SHELL当前用户的解释器 HOSTNAME主机名 HOME当前用户的家目录 PWD所在目录的位置 PATH存放命令的位置

PS1一级提示符 PS2二级提示符

变量的扩展应用

" "界定范围

' '界定范围,屏蔽特殊符号

` `反撇号,可以获取命令执行结果   ==   $(  )

stty -echo   //屏蔽回显

stty echo   //恢复回显

a=20

export a 局部变量->全局变量

export -n a 全局变量->局部变量

计算

方法一

expr 1   +   1 

expr 1   -   1 

expr 1   /   1 

expr 1   \*   1       1   '*'   1          \转义符号  屏蔽之后一个字符的特殊含义

expr 5   %   2   >>>>  1  求模,取余数

方法二

echo $[ 1+1]

echo$[a+a]

方法三

let 运算结果不显示,通常用于使用运算结果定义变量的值,或者对变量进行自增减

let a++

let a--

let a+=2

let a-=2

方法四

bc计算器,可以计算小数

echo 1.15+5.04 | bc

echo scale=3;10/3 | bc   //scale定义小数点后几位

Image placeholder
lijiashuai
未设置
  31人点赞

没有讨论,发表一下自己的看法吧

推荐文章
shell基础笔记

学习编程的方法:1.照抄程序,保证程序能正确运行2.删除所有注释,自己往上默写注释,如果注释能写清楚,就代表程序看懂了3.删除代码,留下注释,照着注释写代码

HTML基础元素笔记

address标签语义化标签表示地址pre标签可以保留空格与换行,主要用于文章

HTML基础元素笔记

锚点:快速定位到目标位置。 方法1:href="#myself"id="myself" 方法2:href="#myself"

HTML基础元素笔记

:align对齐width宽度size高度color颜色 :地址信息 :保留空格和换行

笨办法学 Linux Bash:Shell、`.profile`、`.bashrc`、`.bash_history`

Bash:Shell、.profile、.bashrc、.bash_history。 当使用CLI(命令行界面)来使用Linux时,你正在与一个名为shell的程序进行交互。所有你输入的都传递给she

Shell 和 Shell 脚本

ShellShell是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。Shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访

ASC19最新战况:北航打破HPL基准测试赛会纪录!

  今天(4月23日)是全球瞩目的ASC19全球总决赛第三天,经过前两天的系统搭建与调试工作后,20支队伍进入了正式竞赛阶段,向总冠军宝座发起最后冲刺。  根据赛程,今天所有参赛队伍需要完成的项目包括

SSH(Secure Shell)介绍

SSH(SecureShell)介绍 SSH安装 查看是否已安装: CentOS:rpm-qa|grepopenssh Ubuntu:dpkg-l|grepopenssh 安装: CentOS6:s

IDC发布:4Q18云IT基础设施收入低于传统IT基础设施收入

根据IDC全球云IT基础设施季度跟踪报告,在2018年第四季度(4Q18),包括公有和私有云在内的云IT基础设施产品(服务器、企业存储和以太网交换机)销售收入同比增长28.0%,达到168亿美元。20

Shell脚本编程30分钟入门

什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd~ mkdirshell_tut cdshell_tut for((i=0;ibash 但在MacOS上不是,/bin/sh和/

Linux Shell 脚本快速入门

shell脚本是在一个文件中写入一起执行的命令集。对于使用像dos操作系统的DOS,windows操作系统的bat,linux操作系统的files的人来说,这几乎都是相同的概念。你只需要把一串命令写

Linux Shell 脚本快速入门

shell脚本是在一个文件中写入一起执行的命令集。对于使用像dos操作系统的DOS,windows操作系统的bat,linux操作系统的files的人来说,这几乎都是相同的概念。你只需要把一串命令写入

PHP 安全之 webshell 分析

简介webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目

开源React Native组件库beeshell 2.0发布

2018年,我们开源了ReactNative组件库——beeshell1.0。时隔一年,我们对ReactNative组件库继续优化,实现beeshell2.0升级,开源38个功能。希望更好的服务社区,

Shell 语法

变量声明、使用、只读、删除myUrl="runoob.com" echo$myUrl${myUrl} readonlymyUrl unsetmyUrl1、定义变量时,不加$,变量名和等号之间不能

在Jenkins中发布react 静态项目常用shell脚本

功效:服务器git永远同步,远程,本地有更改文件或文件夹会被重置掉,保持和远程仓库一致 rsync同步文件 永久链接:https://shudong.wang/10705.html获取git远程仓库

Chaos Mesh —— 让应用跟混沌在 Kubernetes 上共舞

作者:殷成文2019年12月31日,我们在GitHub上正式开源了ChaosMesh。作为一个云原生的混沌测试平台,ChaosMesh提供在Kubernetes平台上进行混沌测试的能力。本篇文章将围绕

好好学习-JS基础-call/apply实现

call call()方法在使用一个指定的this值和若干个指定的参数值的前提下调用某个函数或方法functionfoo(){ console.log(this.name) } varobj={ na

华为云存储All-Flash战略打造全新智能数据底座

华为全球产业展望报告显示,全球年数据增量将从2018年的32.5ZB快速增长到2025年的180ZB,但目前企业数据利用率只有10%,数据价值没有得到充分释放。面对海量数据爆炸式的增长和发掘数据内在价

聊聊chronos的pullFromDefaultCFAndPush

序本文主要研究一下chronos的pullFromDefaultCFAndPushpullFromDefaultCFAndPushDDMQ/carrera-chronos/src/main/java/

PhpSpreadsheet 小教程

关于PhpSpreadsheet简单教程 今天遇到一个问题,涉及php与excel之间数据转换。之前一直用PHPExcel,他们的开发组不更新了。但是找到了PhpSpreadsheet。 一.介绍

sharding sphere 4.0.0-RC1版本 按年分表实战

1.shardingsphere4.0.0-RC1版本按年分表实战1.1.需求需要对日志表进行按时间划分表,由于用于后台系统,日志量预估不会太大,因此按年划分表经过我不断的查阅shardingsphe

Go编程语言教程_1.3. Golang的Hello World

你好,世界!是任何编程语言中的第一个基本程序。让我们使用以下步骤用Go语言编写第一个程序: 首先打开Go编译器。在Go语言中,该程序以.go扩展名保存,它是UTF-8文本文件。 现在,首先在程序中添加

gRPC-Go 和 Java 的一次 HelloWorld(十)

都说grpc是跨语言的一个rpc框架,当团队内部有多种流行编程语言时,那么grpc可以为他们提供通信,今天我们就通过一个HelloWorld来看看Java和Go是怎么通信的,一起实践吧,只有亲身实践才

Go语言高级编程_1.2 Hello, World 的革命

1.2Hello,World的革命 在创世纪章节中我们简单介绍了Go语言的演化基因族谱,对其中来自于贝尔实验室的特有并发编程基因做了重点介绍,最后引出了Go语言版的“Hello,World”程序。其实