shell脚本脚本变量

shell脚本的概念:

1.讲要执行的命令按顺序保存到一个文本文件

2.给文件可执行权限

3.可以结合各种shell控制语句以完成更复杂的操作

linux中包含shell的文件有

[root@localhost ~]# cat /etc/shells
/bin/sh            #UNIX最初使用的 shell,已经被bash所替换。
/bin/bash            #基准于GNU的框架下发展出的Shell,是 sh 的扩展
/usr/bin/sh            
/usr/bin/bash
/bin/tcsh            #整合了csh,提供更多的功能
/bin/csh            #语法有点类似于c语言的Shell

注意:nologin是一个奇怪的shell 这个shell可以让用户无法登录

shell格式:

使用vim编译创建xxx以.sh为结尾

脚本的第一行声明脚本解释器用#!

第二行可以用”#“来写入注释信息

后面执行代码依次排序

执行脚本shell:

chmod 给这个文件权限         也可以用bash+文件即可运行        #bash可以有无执行权限

用chmod的这个 要用绝对路径或者相对路径来运行        #要有执行权限

以上两种脚本都是在子shell环境中执行脚本

siure或”.“指定脚本文件运行        #可无执行权限

编译型代码语言:c        c++         java        go都是编译型语言 代码文件需要先进行编译才能执行

解释性语言:shell        python        代码是边解释边运行

交互式硬件设备

标准输入:从该设备接收用户输入的数据

标准输出::通过设备向用户输出数据

标准错误:通过该设备报告执行出错信息

重定向操作

变量:

变量名以字母或者下划线开头

代码:变量=变量值

查看变量值:echo ¥变量

read -p (”提示内容“)变量名

赋值时使用引号:

双引号:允许通过¥符号引用其他变量值

单引号 :会把¥看作为一个普通字符,不会引用变量的值

反撇号:命令替换提取命令结构

设置变量的作用范围

格式:1.export 变量名

让自定义的变量在所有shell环境中有效的方法:

1.在/etc/bashre 文件中 定义变量名=变量值

2.在        /etc/profile 文件中定义        export 变量名=变量值        并source /etc/profile 立即生效

整数运算

let a=10 +5 

let a++         相当于        a=$[a+1]

let a--               相当于        a=$[a-10]

let a+2=        相当于        a=$[a+2]

浮点数运算

echo ‘4.5+2.1’  | bc

awk “BEGIN[PRINT 4.5+2.1]'

环境变量:

env        #查看当前shell环境中可用的环境变量

PATH USER PWD HOMS LANG HTSTSIZE        定义在/etc/profile 中针对于所有用户

家目录~/.base_profile

只读变量

readonly 变量名=变量值

位置变量:

./rest.sh        one        tow        three        .......        the

                        $1        $2        $3                                $10

当数字超过10的时候输出显示就变成noe1了 所以我们要添加大括号

预定变量:

$0        表示脚本本身

$#        代表脚本后面跟的位置参数的数量

$?        表示时上一条Linux命令执行的返回状态码(0-255) 0表示上一条命令执行正确  非0时则为异常

$*        默认代表篇脚本后跟所有参数 加上双引号后“$*”会把所有参数看作一个整体

$@        默认代表篇脚本后跟所有参数 加上双引号后“$*”会把所有参数看作一个体

date

%y        表示年

%m       表示月

%d        表示日

date -d “1 day” + “%y%m%d”        表示昨天日期

date +“%y%m01"        表示当月第一天

date -d "1 month" +"%Y%m01"   下个月第一天
date -d "$(date -d "1 month" +"%Y%m01") -1 day" +"%Y%m%d"       当月最后一天  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/8253.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

正点原子i.MX 93开发板,双核A55+M33+NPU,双路RS485FDCAN千兆网,异核/AI/工业开发!

正点原子i.MX 93开发板新品上市!双核A55M33NPU,双路RS485&FDCAN&千兆网,异核/AI/工业开发! NXP的i.MX系列是一系列面向多媒体和工业应用的ARM架构微处理器。从i.MX6U到i.MX93,这一系列经历了显著的发展&#x…

Vue框架学习记录

概览 前置知识 准备工作 安装环境准备 #安装node.js #安装npm #安装vue cli基于脚手架创建前端工程 方式一 #创建一个保存vue项目的目录,如vue_project #在vue_project下进入cmd vue create vue-demo-1方式二 #在cmd下输入 vue ui选择vue2#成功之后的界面#打开…

[oeasy]python0015_键盘改造_将esc和capslock对调_hjkl_移动_双手正位

键盘改造 &#x1f94b; 回忆上次内容 上次练习了复制粘贴 按键 作用 <kbd>y</kbd><kbd>y</kbd> 复制光标行代码 到剪贴板 <kbd>p</kbd> 粘贴剪贴板中的内容 <kbd>i</kbd> 切换到 插入模式 <kbd>h</kbd>…

DC-DC电路中电感的下方该不该挖空

DC-DC电路中的电感下方该不该挖空&#xff1f; 在回答这个问题之前&#xff0c;先来了解一下DC-DC电路中常见的功率电感类型 一&#xff0e;DC-DC电路常用功率电感类型 图1 DC-DC电路常用电感类型 这四种类型电感&#xff0c;按照无屏蔽电感→磁封胶半屏蔽电感→组装式全屏蔽…

DDM-MIMO-FMCW雷达MATLAB仿真

本文在前期TDM和BPM体制的基础上&#xff0c;仿真DDM体制下的调制解调和信号处理测距、测速、测角流程。 TDM和BPM相关可以看这两篇博文TDM(BPM)-MIMO-FMCW雷达仿真-CSDN博客&#xff0c;确定性最大似然&#xff08;DML&#xff09;估计测角-CSDN博客TDM(BPM)-MIMO-FMCW雷达仿真…

Gartner发布应对动荡、复杂和模糊世界的威胁形势指南:当前需要应对的12种不稳定性、不确定性、复杂和模糊的安全威胁

当今世界是动荡&#xff08;Volatile&#xff09;、复杂&#xff08;Complex&#xff09;和模糊&#xff08;Ambiguous&#xff09;的&#xff0c;随着组织追求数字化转型以及犯罪分子不断发展技术&#xff0c;由此产生的安全威胁也是波动性、不确定性、复杂性和模糊性的&#…

【LeetCode刷题记录】简单篇-108-将有序数组转换为二叉搜索树

【题目描述】 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 平衡 二叉搜索树。 【测试用例】 示例1&#xff1a; 输入&#xff1a;nums [-10,-3,0,5,9] 输出&#xff1a;[0,-3,9,-10,null,5] 解释&#xff1a;[0,-10,5,null,…

【功耗问题排查】

一、如何处理具体功耗case 在手机功耗测试中&#xff0c;因为我们在功耗测试中&#xff08;电源电压&#xff09;为固定值&#xff08;老手机一般为3.8V左右&#xff0c;现在的大多项目采用4V左右&#xff09;&#xff0c;那么的大小直接由决定&#xff0c;所以&#xff0c;在沟…

webassembly入门详解(C++)

一、环境配置 环境说明,操作系统为window操作系统。 1.1 下载和安装python 下载 需要python版本至少3.6版本 python下载地址:https://www.python.org/getit/ 安装 检测安装结果 win+R组合键->cmd->输入python->回车 1.2 下载和安装emsdk 下载 下载地址:https://gi…

vs2019 - 替换vs2019自带的cmake

文章目录 vs2019 - 替换vs2019自带的cmake概述笔记启动vs2019本地x64命令行的脚本查看vs2019自带的cmake的位置删掉旧版cmake将新版cmake的安装目录内容替换过来。查看vs2019本地x64命令行中的cmake版本配置为vs2019x64工程END vs2019 - 替换vs2019自带的cmake 概述 在看一个…

项目启动后 数据库表结构会被自动修改 删除字段

问题还原 我这表是有warehouse_code这个字段的 然后我启动项目后&#xff0c;发现这个字段被删除了 解决办法 看你的配置中是否有下面的配置 把这个配置删除就行了&#xff0c;这配置是根据Java实体来来创建修改数据库结构的

LINUX 入门 4

LINUX 入门 4 day6 7 20240429 20240504 耗时&#xff1a;240min 课程链接地址 第4章 LINUX环境编程——实现线程池 C基础 第3节 #define里面的行不能乱空行&#xff0c;要换行就打\ typedef 是 C 和 C 中的一个关键字&#xff0c;用于为已有的数据类型定义一个新的名字。…

SpringBoot 自定义 HandlerMethodArgumentResolver 搞定xml泛型参数解析

文章目录 介绍一、解析简单 xml 数据案例引入 Jackson 的 xml 支持定义 Message 对象&MessageHeader 对象定义 Controller 方法调用结果 二、解析带泛型的 XML 数据案例2.1 直接给 Message 加上泛型 T2.2 无法直接解析泛型参数了 三、自定义 MVC 的参数解析器实现泛型参数解…

OCR文本识别模型CRNN

CRNN网络结构 论文地址&#xff1a;https://arxiv.org/pdf/1507.05717 参考&#xff1a;https://blog.csdn.net/xiaosongshine/article/details/112198145 git:https://github.com/shuyeah2356/crnn.pytorch CRNN文本识别实现端到端的不定长文本识别。 CRNN网络把包含三部分&…

两个手机在一起ip地址一样吗?两个手机是不是两个ip地址

在数字时代的浩瀚海洋中&#xff0c;手机已经成为我们生活中不可或缺的一部分。随着移动互联网的飞速发展&#xff0c;IP地址成为了连接手机与互联网的桥梁。那么&#xff0c;两个手机在一起IP地址一样吗&#xff1f;两个手机是不是两个IP地址&#xff1f;本文将带您一探究竟&a…

微火全域外卖系统是什么?为什么市场占有率这么高?

近日&#xff0c;全域外卖领域又出现了新变动&#xff0c;一个名为微火的品牌凭借着其全域外卖系统&#xff0c;在短短几个月的时间里&#xff0c;就占领了大部分市场。截止发稿日期前&#xff0c;微火全域外卖系统的市场占有率已经超过48%。 据了解&#xff0c;所谓的全域外卖…

微信小程序之搜索框样式(带源码)

一、效果图&#xff1a; 点击搜索框&#xff0c;“请输入搜索内容消失”&#xff0c;可输入关键字 二、代码&#xff1a; 2.1、WXML代码&#xff1a; <!--搜索框部分--><view class"search"><view class"search-btn">&#x1f50d;&l…

数据库复习2

试述SQL的特点 有两个关系 S(A,B,C, D)和 T(C,D,E,F)&#xff0c;写出与下列查询等价的 SQL 表达式: 用SQL语句建立第2章习题6中的4个表&#xff1b;针对建立的4个表用SQL完成第2章习题6中的查询 针对习题4中的4个表试用SQL完成以下各项操作 (1)找出所有供应商的姓名和所在城市…

[图解]SysML和EA建模住宅安全系统-02

1 00:00:00,900 --> 00:00:02,690 这个就是一个块定义图了 2 00:00:03,790 --> 00:00:04,780 简称BDD 3 00:00:05,610 --> 00:00:08,070 实际上就是UML里面的类图 4 00:00:08,080 --> 00:00:09,950 和组件图的一个结合体 5 00:00:13,150 --> 00:00:14,690 我…

WDW-10B微机控制电子万能试验机技术方案

一&#xff0e;设备外观照片&#xff1a; 项目简介&#xff1a; 微机控制电子式万能试验机是专门针对高等院校、各种金属、非金属科研厂家及国家级质检单位而设计的高端微机控制电子式万能试验机、计算机系统通过全数字控制器&#xff0c;经调速系统控制伺服电机转动&#xff…