LINUX82 shell脚本变量分类;系统变量;变量赋值;四则运算;shell

shell编程准备

编程语言

编译型语言:运行前 编译器 编译为 机器语言;依赖编译器;跨平台性能差;执行效率高;C/C++

解释型语言:运行时 解释器 翻译为 机器语言;;跨平台效果好;

效率低;python,shell,javascripts

shell

人机交互的桥梁;bash解释命令

/etc/shells

/bin/sh

shell脚本

目的:自动化

脚本写法

执行方式

方法①./路径/1.sh

②./1.sh

非标准执行:

方法①bash 1.sh

②source 1.sh

③. 1.sh

变量

本地变量

仅对当前用户的当前进程有效,对当前进程的子进程以及其他进程无效

A=hello

环境变量

当前进程有效,能被子进程调用

用法:export A

env| grep ^A 查看环境变量

set 查询本地、环境变量

全局变量

全局所有用户和线程都能调用;能继承;新建的用户也能调用

/etc/bashrc 使用bash shell 用户全局变量

/etc/profile 系统和每个用户的环境变量信息

系统变量

定死的,不可改变

$? 上一条命令执行后返回的状态

0 运行成功

1 无文件或目录

126

127

$$ 当前进程进程号
$! 后台最后一个进程号

!$ 调用上一条命令参数

!! 调用最后一条命令

$# 脚本后接的参数个数

$* 脚本后面所有参数

$@ 脚本后面所有参数

$0 当前执行的进程名

$1

$2

$9 位置参数变量

变量定义









四则运算




相关推荐
君之嘞2 小时前
【操作系统基础】认识操作系统:系统调用
linux·运维·microsoft
渡我白衣2 小时前
访问文件后出现的 ~$ 文件是什么?它和缓冲机制、数据丢失有什么关系?
linux
爱倒腾的老唐2 小时前
07、Linux 文件管理
linux·运维·服务器
Raymond运维3 小时前
MySQL包安装 -- RHEL系列(离线RPM包安装MySQL)
linux·运维·数据库·mysql
-dcr4 小时前
24.grep 使用手册
linux·运维开发·grep
心灵宝贝4 小时前
libopenssl1_0_0-1.0.2p-3.49.1.x86_64安装教程(RPM包手动安装步骤+依赖解决附安装包下载)
linux·运维·服务器
tryCbest4 小时前
Windows和Linux设置Https(SSL)访问
linux·windows·https
btyzadt4 小时前
Ubuntu中安装Nuclei教程
linux·运维·ubuntu
倔强的石头1065 小时前
【Linux指南】gdb进阶技巧:断点高级玩法与变量跟踪实战
linux·运维
山,离天三尺三5 小时前
基于LINUX平台使用C语言实现MQTT协议连接华为云平台(IOT)(网络编程)
linux·c语言·开发语言·网络·物联网·算法·华为云