shell编程--永久环境变量和字符串显位

环境变量

echo $HOME

在终端输出后会显示家目录有个root变量

我们会提出个疑问为什么平时我们在终端输入sl 或者which等等命令会输出一些内容呢,这是因为这些命令都有对应的环境变量。

我们查看一下环境变量

在终端输入:

echo $PATH

我们看一下输出的环境变量目录

存在一个/usr/bin目录,当我们执行ls时候会它会帮我们找到对应的目录并且执行。也就是ls的完整目录是/usr/bin/ls

如何把我们定义的变量变成永久变量

临时变量

法一

根据/usr/bin目录,把我们的脚本放入/usr/bin目录下就会把脚本作为命令输出出来。

法二

我们也可以把根目录加入环境变量中去

例如我们的脚本文件在root文件下

执行命令:

export $PATH=/root:PATH

查看root目录是否已经加入环境变量

echo $PATH

export 命令是用于设置环境变量的关键字,使得设置的变量可以在当前shell以及由该shell启动的子进程中生效。

PATH是一个重要的环境变量,他定义了系统在哪些目录下去寻找可执行程序。当在终端输入一个命令时(如:ls,which,cat等等)系统会根据PATH环境变量指定的目录顺序查找对应的可执行文件,找到后执行。

/root:PATH是重新定义PATH的值,将/root目录添加到了原有的PATH变量值的最前面(通过:PATH的形式保留了原来的值并添加新的部分)

这样做会最先在/root目录查找,然后再按照原来PATH指定到其他目录顺序查找。

永久变量

用export只是设置了临时变量,我们需要把他写入到配置文件中才能永久生效。

命令:

vi .bashrc

export PATH = root:PATH
source(变量生效,或者重启生效)

字符串相关操作

我们想知道字符串的长度该如何进行呢

bash 复制代码
str = "hello world"

echo $str

我们定义一个变量str并且打印出来。

那我们怎么查看字符串长度呢

bash 复制代码
str = "hello world"

echo ${#str}

会显示11位字符,空格也算1位

那如果我们想显示三个字符怎么操作呢

bash 复制代码
str = "hello world"

echo ${str:0:3}

那显示8位字符呢

bash 复制代码
str = "hello world"

echo ${str:0:8}

注意:字符串显示是从0开始的


声明!
学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页[B站泷羽sec](https://space.bilibili.com/350329294)

相关推荐
Ronin30512 分钟前
【Linux网络】应用层协议HTTP
linux·网络·http·应用层协议
合作小小程序员小小店33 分钟前
web安全开发,在线%服务器日志入侵检测%系统安全开发,基于Python,flaskWeb,正则表达式检测,mysql数据库
服务器·python·安全·web安全·flask·安全威胁分析·安全架构
chen_note44 分钟前
Kubernetes1.23版本搭建(三台机器)
运维·容器·kubernetes·云计算·kubepi
花落已飘1 小时前
openEuler WSL2容器化开发实战:Docker Desktop集成与应用部署
运维·docker·容器
伊卡洛斯az2 小时前
vim的跳转看头文件与分屏
linux·编辑器·vim
paopao_wu2 小时前
DeepSeek-OCR实战(01):基础运行环境搭建-Ubuntu
linux·人工智能·ubuntu·ai·ocr
betazhou2 小时前
基于Linux环境使用ogg19版本从oracle 19c ADG备库远程同步数据
linux·运维·oracle·goldengate·adg·远程抽取
路由侠内网穿透.2 小时前
本地部署消息代理软件 RabbitMQ 并实现外部访问( Windows 版本 )
linux·运维·服务器·远程工作
wanhengidc2 小时前
海外云手机是指什么
运维·服务器·游戏·智能手机·云计算
Fanmeang3 小时前
华为防火墙基础功能详解:构建网络安全的基石
运维·网络·安全·华为·防火墙·策略·安全域