首页 > 系统相关 >Shell脚本入门指南(二):环境变量与字符串操作

Shell脚本入门指南(二):环境变量与字符串操作

时间:2024-11-22 15:18:51浏览次数:3  
标签:bin Shell 入门 usr 字符串 PATH 环境变量 ls

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


目录

  1. 环境变量概述
  2. 查看和修改环境变量
  3. 添加环境变量
    1. 方法一:将脚本放入目录
    2. 方法二:修改PATH变量
  4. 永久生效的环境变量
  5. 字符串操作
    1. 获取字符串长度
    2. 提取子字符串

环境变量概述

环境变量是系统或用户配置的关键参数,影响程序的执行行为及系统的运行方式。常见的环境变量包括:

  • PATH:指定系统查找可执行程序的路径。
  • HOME:表示当前用户的主目录。

这些环境变量可以通过命令行或配置文件进行修改,以调整系统行为或程序执行方式。


查看和修改环境变量

在 Linux 中,我们可以通过 which 命令来查找某个命令的实际路径。例如:

which -a ls

该命令会输出 ls 命令的所有路径,包括:

ls: aliased to ls --color=auto
/usr/bin/ls
/bin/ls

使用 echo $PATH 可以查看当前系统的 PATH 环境变量。例如:

echo $PATH

输出结果可能是:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games

该输出表明,系统会按照这些路径的顺序查找可执行文件。当你输入命令 ls 时,系统会首先在 /usr/bin 目录查找 ls 程序。


添加环境变量

方法一:将脚本放入目录

如果你自己编写了脚本并希望可以在命令行中直接执行,可以将脚本放入某个目录(如 /usr/bin/)中。操作步骤如下:

  1. 编写脚本:

    touch 1.sh
    vim 1.sh
    echo "hello world" > 1.sh
    
  2. 设置脚本权限:

    chmod 777 1.sh
    
  3. 将脚本移动到 /usr/bin/ 目录中:

    mv 1.sh /usr/bin/
    

这样,你就可以在任何地方通过命令行直接运行 1.sh

方法二:修改 PATH 变量

另外,你也可以通过修改 PATH 环境变量来添加一个新的目录,允许该目录下的所有文件都能被执行。假设你要添加 /root/ 目录,可以使用以下命令:

export PATH=/root:$PATH

这条命令的作用是将 /root 目录添加到 PATH 的最前面。$PATH 保留了原有的 PATH 值,确保系统继续按原顺序查找其他目录中的可执行文件。

你可以通过 echo $PATH 来验证 /root 是否已成功添加到 PATH 中。


永久生效的环境变量

上面提到的 export 命令只会在当前会话中生效。如果希望修改后的环境变量永久生效,需要将其添加到配置文件中:

  1. 编辑 .bashrc 配置文件:

    vi usr/bin/.bashrc
  2. 在文件中添加以下行:

    export PATH=/root:PATH
    
  3. 保存并退出后,运行以下命令使修改生效:

    source /usr/bin/.bashrc

你也可以通过重启系统或重新登录来使变量生效。


字符串操作

在 Linux shell 中,常见的字符串操作包括获取字符串长度和提取子字符串。

获取字符串长度

要获取字符串的长度,可以使用以下命令:

str="hello world"
echo ${#str}

该命令会输出字符串 str 的字符数,即 11

提取子字符串

你可以通过以下方式提取字符串的部分内容:

  1. 提取前三个字符

    echo ${str:0:3}
    

    这将输出字符串的前三个字符,即 hel

  2. 一般形式:

    ${str:start:length}
    
    • str:操作的字符串变量。
    • start:起始位置,索引从 0 开始。
    • length:提取的字符数。

    例如,${str:6:5} 将从第 6 个字符开始,提取 5 个字符。

标签:bin,Shell,入门,usr,字符串,PATH,环境变量,ls
From: https://blog.csdn.net/2401_87640455/article/details/143946352

相关文章

  • Shell脚本入门指南(三):参数传递与数学运算
    声明学习视频来自B站up主**泷羽sec**有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页[B站......
  • Python 初学者的学习指南:从入门到实践 ---亲身经历版本!!!
    前言Python因其简单易学、功能强大而成为初学者编程的首选语言。无论你是零基础的小白,还是想拓展技能的开发者,Python都能为你提供无限可能。本篇博客将为Python初学者提供一套学习方法和学习路线,帮助你在短时间内掌握Python编程的核心知识,并学以致用。学习方法明......
  • 嵌入式从入门到入土
    学习目标:(本次学习只是让我们有个大致的了解)在GEC6818开发板上实现荷兰、法国国旗图案显示了解ARM开发板图⽚显⽰原理了解BMP图⽚在开发板显⽰时存在的问题(上)学习内容:在GEC6818开发板上实现荷兰、法国国旗图案显示注意:请在800*480的LCD屏幕上绘制荷兰国旗第0......
  • 简单shell编程(操作系统实验三)
    1.Shell变量的定义及其使用1.shell变量shell有两种变量:环境变量和临时变量。环境变量是永久性变量,不会随shell脚本的执行结束而消失。临时变量是在shell程序内部定义的,其使用范围仅限于定义它的程序,出了本程序就不能再用它:而且当程序执行完毕,它就不存在了。在shell脚本中......
  • Ansible快速入门
    Ansible快速入门一、介绍Ansible是一款简单的运维自动化工具,只需要使用ssh协议连接就可以来进行系统管理,自动化执行命令,部署等任务。Ansible的特点1、ansible不需要单独安装客户端,也不需要启动任何服务2、ansible是python中的一套完整的自动化执行任务模块3、ansibleplaybo......
  • MISC从入门到放弃
    右侧有目录导航[BUUCTF]RSA分析得到一段文字:在一次RSA密钥对生成中,假设p=473398607161,q=4511491,e=17求解出d作为flga提交解题第一想法是python脚本,网上找到一个importgmpy2p=473398607161q=4511491e=17d=int(gmpy2.invert(e,(p-1)*(q-1)))print(d)得到fl......
  • 超详细版:Centos7在LAMP环境下的Shell脚本部署Nextcloud(13.0.9)
     一、核心功能文件同步与分享:通过Nextcloud,用户可以轻松地在不同设备之间同步和共享文件。无论是照片、视频、文档还是其他文件类型,都可以方便地访问和共享。二、应用场景个人用户:个人用户可以通过Nextcloud搭建自己的私有云、实现跨设备的数据同步和备份。企业:企业可以使......
  • (长期更新)《零基础入门 ArcGIS(ArcMap) 》实验一(上)----空间数据的编辑与处理(超超超详细
    老规矩,点赞+收藏+长评+关注!!!需要实验数据的直接划到博客最底端。目录ArcMap介绍概念操作地图操作地图浏览分析显示结果定制编程ArcMap下载ArcMap实验--空间数据的编辑与处理1.1实验内容及目的1.1.1实验内容1.1.2实验目的1.2实验方案1.3操作流程1.3.1环境设......
  • 20241122电路板维修入门之集成块焊接篇
    在没有热风焊台的情况下,也可考虑用烙铁配合焊锡来拆除或焊接集成块,它的方法是用烙铁在芯片的各个引脚都堆满焊锡,然后用烙铁循环把焊锡加热,直到所有的引脚焊锡都同时熔化,就可以把芯片取下来了。把芯片从电路板上取下来,可以考虑用细铜丝从芯片的引脚下穿过,然后从上面用手提起。......
  • 20241121电路板维修入门之CPU断针焊接篇
    CPU断针的情况很常见,370结构的赛扬一代CPU和P4的CPU针的根部比较结实,断针一般都是从中间折断,比较容易焊接,只要在针和焊盘相对应的地方涂上焊膏,上了焊锡后用烙铁加热就可以焊上了,对于位置特殊,不便用烙铁的情况可以用热风焊台加热。赛扬二代的CPU的针受外力太大时往往连根拔起,且......