IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> shell变量 -> 正文阅读

[开发工具]shell变量

目录

一、三个命令显示变量的值set env declare

二、自定义环境变量

①临时变量

方法一示例

方法二示例

方法三示例

②如果想连接新的会话之后有效需要写在配置文件中

#删除临时变量

a、仅root用户可以输出

b、所有用户都可以输出(root用户如果局部未设置可以输出)

三、设置登录提示

方法①vim /etc/motd

方法②可以在/etc/profile.d下写一个脚本

四、变量定义及变量输出

eg1示例

eg2示例

五、特殊变量

eg1示例

注: $# 显示为传入参数次数 ?

eg2示例

eg3 $0 获取脚本的名称及路径

eg4 $@ $* 示例


一、三个命令显示变量的值set env declare

set:输出所有的变量,包括全局变量和局部变量

env:显示全局变量

declare:输出所有的变量、函数、证书和已经导出的变量。

set -o:显示bash Shell 的所有参数配置信息。

二、自定义环境变量

变量名:一般由字母、数字、下划线组成,可以以下划线或者字母开头,例如:NAME、NAME123、NAME_123、_NAME123

①临时变量

方法一:
export 变量名=value

方法二:
变量名=value ; export 变量名

方法三:
declare -x 变量名=value

方法一示例

方法二示例

方法三示例

②如果想连接新的会话之后有效需要写在配置文件中

#删除临时变量

unset 变量名

[root@localhost day1]# WEIGHT=100
[root@localhost day1]# export WEIGHT
[root@localhost day1]# echo $WEIGHT
100
[root@localhost day1]# unset WEIGHT
[root@localhost day1]# echo $WEIGHT

a、仅root用户可以输出

[root@localhost day1]# vim /root/.bashrc

?切换终端且用户为root可以输出

?切换终端且用户为xiaohong无法输出

b、所有用户都可以输出(root用户如果局部未设置可以输出)

[root@localhost day1]# vim /etc/bashrc

因为root设置了局部变量因此输出内容为 /root/.bashrc 中配置内容(局部优先)

三、设置登录提示

方法①vim /etc/motd

方法②可以在/etc/profile.d下写一个脚本

[root@localhost ~]# vim /etc/profile.d/welcome.sh
[root@localhost ~]# cat /etc/profile.d/welcome.sh 
echo "welcome my server!"

四、变量定义及变量输出

eg1示例

当echo 变量
或者
echo '变量'
或者
echo "变量"   此时变量没有命令执行,如:第二行输出

会原样输出

当 echo “变量 $(变量)”
或者
echo “变量 `date`” 此时有命令执行,如:第四行和第六行
会执行输出

eg2示例

如果添加新的变量 HIGH

进行enco

因为 $变量 会执行
因此当不带引号或者带上双引号时会输出执行后结果
如果是单引号'' 
echo '$HIGH'
返回之后原样输出

五、特殊变量

eg1示例

[root@localhost day1]# pwd
/scripts/day1

[root@localhost day1]# vim test3.sh
#!/bin/bash
echo "这是第一个变量 $1"
echo "这是第二个变量 $2"
echo "这是第三个变量 $3"
echo "这是第四个变量 $4"
echo "这是第五个变量 $5"

echo "一共有 $# 个变量"

注: $# 显示为传入参数次数 ?

eg2示例

[root@localhost day1]# vim test4.sh

echo $1 $2 $3 $4 $5 $6 $7 $8 $9 $10 $11 $12 $13 $14 $15
echo $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10} ${11} ${12} ${13} ${14} ${15}

由输出可以看出 $1X 中, 1X 如果不括起来,结果为 $1的值后再跟上x

如下 $1 为a====>$10 为 a0====>${10} 为 j

eg3 $0 获取脚本的名称及路径

[root@localhost day1]# vim test5.sh

echo "$0"
echo "`basename $0`"  
#返回脚本名称
echo "`dirname $0`"
#返回脚本路径

当echo "$0"时

①如果sh 后面跟了正确路径则会返回路径和脚本名称

②如果sh后面仅跟脚本名则返回脚本名称

eg4 $@ $* 示例

[root@localhost day1]# set a b c
[root@localhost day1]# echo $#
3

$*会作为一个整体输出

$@会一个一个输出

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-03-03 16:35:43  更:2022-03-03 16:38:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:22:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码