变量

系统常用变量

#!/bin/bash
echo "默认shell: $SHELL"
echo "当前用户家目录: $HOME"
echo "内部字段分隔符: $IFS"
echo "默认语言: $LANG"
echo "默认可执行程序路径: $PATH"
echo "当前目录: $PWD"
echo "当前用户ID: $UID"
echo "当前用户: $USER"
echo "历史命令大小: $HISTSIZE"
echo "随机生成一个0-32767的整数: $RANDOM"
echo "主机名称: $HOSTNAME" #扩展知识
#修改历史命令记录条数大小
vim /etc/profile
HISTSIZE=10000
source /etc/profile

普通变量和临时环境变量

#变量等号两边不建议空格,不然会出问题
#普通变量定义 VAR=value
#临时环境变量定义 export VAR=value #区别
#在当前shell进程中定义的环境变量,其作用域是当前的shell进程
#当用 export 命令导入到系统环境变量时,则作用域是shell进程以及shell的子进程

不使用export定义变量

使用export定义变量

注意:在执行脚本的时候,会在当前终端会生成一个子shell去执行脚本的命令,而不会直接去执行系统命令

位置变量

位置变量是指的shell脚本或者函数后面跟的 $n 变量

$n 取值范围 $1 $2 $3 ... $9, 从第10个开始需要使用花括号调用 ${10}

shift 命令
执行一次shift命令,位置变量个数就会减一,而变量值会提前一位
也可以理解丢弃当前位置的变量

shift n 可移动n位

特殊变量

$0  脚本自身名字
$? 上一条命令返回的状态码,0为成功,非0则执行失败
$# 位置参数总数
$* 所有的位置参数被看做成一个字符串
$@ 所有的位置参数被看做成独立的字符串
$$ 当前进程PID
$! 上一条后台运行的进程的PID

变量的引用

=	  变量赋值
+= 两个变量相加(相当于字符串拼接)
在Shell中所有的变量默认都是字符串型

单引号、双引号、反撇号

`......`
反撇号等效于 $(......),相当于先执行命令,在把命令返回结果赋值

单引号和双引号之间的差别
单引号会忽略特殊字符 双引号会解释特殊字符原有的意义 如 $ 、! 等

Shell-01-变量的更多相关文章

  1. shell之变量与read

    环境变量 set 环境变量可供shell以外的程序使用 shell变量 env shell变量仅供shell内部使用 set:显示(设置)shell变量 包括的私有变量以及用户变量,不同类的shell ...

  2. shell与变量的声明的操作

    1.给命令起别名:alias 执行下面命令后,可以使用dir代替ls –l 命令,显示目录中的文件详细信息: 还可以用一个别名表示几个命令 的结合: 2.ps:显示当前登录会话的所有活动进程: 3.更 ...

  3. 【Linux】之shell特殊变量整理

    目录 1. 特殊变量列表 2. 特殊说明 在shell中变量名只能包含数字.字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量. 例如,$ 表示当前Shell进程的ID,即p ...

  4. (转载)shell变量基础—shell自定义变量

    (转载)http://see.xidian.edu.cn/cpp/html/1494.html 一.Shell定义变量需要遵循的规则 Shell编程中,使用变量无需事先声明,同时变量名的命名须遵循如下 ...

  5. shell基础——变量定义

    快速参考: 变量定义格式: 变量名=值 str1="hello world" # define a string var str2=hello # define a string ...

  6. shell的变量处理

    shell的变量处理 一.删除 删除(删除某一段) # 从前向后删除 % 从后向前删除 删除(删除某一部分) $(var:nu1:nu2) nu1表示开始位置 nu2表示删除长度 示例如下 file= ...

  7. shell 环境变量的相关配置文件和配置方法

    shell 环境变量的相关配置文件和配置方法: bash 的配置文件: 全局配置: /etc/profile, /etc/profile.d/*.sh, /etc/bashrc 个人配置 ~/.bas ...

  8. Linux编程 12 (默认shell环境变量, PATH变量重要讲解)

    一 .概述 默认情况下, bash shell会用一些特定的环境变量来定义系统的环境.这些默认环境变量可以理解是上篇所讲的系统全局环境变量. 1.1 bash  shell支持的Bourne变量 Bo ...

  9. shell模板变量替换

    我们经常使用一些模板语言来处理一些变量替换.比如jsp,php,velocity,freemarker,thymeleaf等.那对于shell来说,应该怎样替换变量呢.有一种很简单的办法可以做到. 先 ...

  10. centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/index.php <<EOF重定向 shell的变量和函数命名不能有横杠 平台可以用arch命令,获取是i686还是x86_64 curl 下载 第三十九节课

    centos shell编程5  LANMP一键安装脚本 lamp  sed  lnmp  变量和字符串比较不能用-eq  cat > /usr/local/apache2/htdocs/ind ...

随机推荐

  1. JavaScript编写计算器的发展史

    JavaScript编写计算器的发展史: 编写一个普通的四则运算: <!DOCTYPE html> <html lang="en"> <head> ...

  2. NameServer 核心原理解析

    在之前的文章中,已经把 Broker.Producer 和 Conusmer 的部分源码和核心的机制介绍的差不多了,但是其实 RocketMQ 中还有一个比较关键但是我们平时很容易忽略的组件--Nam ...

  3. Reactive Spring实战 -- 响应式MySql交互

    本文与大家探讨Spring中如何实现MySql响应式交互. Spring Data R2DBC项目是Spring提供的数据库响应式编程框架. R2DBC是Reactive Relational Dat ...

  4. Java | 变量 & 常量

    变量 Java是一种强类型语言,每个变量都必须声明其数据类型,变量本质上就是代表一个"可操作的存储的空间",在定义之后空间位置是确定的,但是里面放置什么值是不确定的,我们操作的时候 ...

  5. 可搜索加密技术 - 学习笔记(二)- 预备知识:HMAC-SHA256函数

    由于在之后的算法中会用到HMAC-SHA256函数,这里先简单对其进行一个介绍. 一.HMAC算法 什么是HMAC算法? HMAC是密钥相关的哈希运算消息认证码(Hash-based Message ...

  6. vue(19)嵌套路由

    嵌套路由 有时候在路由中,主要的部分是相同的,但是下面可能是不同的.比如访问首页,里面有新闻类的/home/news,还有信息类的/home/message.这时候就需要使用到嵌套路由.项目结构如下: ...

  7. 前端-Vue基础2

    1.过滤器 前台通过后台传值,要对后台传过来的变量进行特殊处理,比如根据id转成中文等: 1.1 局部过滤器 局部过滤器只针对一个Vue实例 默认将|左侧count传递给右侧方法 {{count|fi ...

  8. 交换机H3C S3100V2-52TP-WiNet

    H3C S3100V2-52TP-WiNet参数  使用手册三层交换机 默认管理IP:192.168.0.234 将电脑IP设置为192.168.0.0这一组,网络连接交换机,默认用户名密码都为adm ...

  9. Java基础00-IO流27

    1. File 1.1 File类概述和构造方法 File的构造方法:这三个构造方法可以做同样的事情 代码示例: public class File1 { public static void mai ...

  10. python之数据驱动Txt操作

    一.新建数据Mail163.txt文本 二.Txt_Mail163.py脚本如下: import unittestfrom selenium import webdriverfrom selenium ...