[oeasy]python0030_设置路径_export_PATH_zsh_系统路径设置_export

news2024/9/27 9:23:59

放入路径

回忆上次内容

  • 我们要在任意路径下直接执行 sleep.py

    • sleep.py 放在 /usr/bin/ 下面
    • 最终可以在任意位置执行程序sleep.py
  • 但是

    • /usr/bin 里面放的一般都是二进制命令文件
    • 命令实在是太多太乱
    • 最终还是删除了sleep.py
  • 我想

    • 把宿主目录添加到系统变量 $PATH

  • 这样有可能吗?🤔
  • 先回忆🤔

    • 为什么无论当前路径在哪里
    • ls都能执行

路径

  • ls所在的路径是/usr/bin

    • 是在系统变量$PATH中的
#!/usr/bin/python3
import time
while True:
    print(time.asctime())
    time.sleep(1)
  • 现在只要把sleep.py

    • 所在的文件夹目录

      • /home/shiyanlou
    • 也放到$PATH
    • 就可以随地调用其中的sleep.py了

修改 PATH

#查看当前$PATH
echo $PATH
#设置$PATH,注意不要加空格
export PATH=~:$PATH
#查看更新后的$PATH
echo $PATH
  • export PATH=~:$PATH

    • 前面的 PATH 不需要$
    • ~是当前用户 shiyanlou 的用户文件夹

      • 也就是/home/shiyanlou
    • :是分隔符号

具体效果

  • 注意!!!

    • PATH必须大写

      • $PATH$path是两回事
    • 输入的时候千万注意不能使用中文标点!!!

      • 包括:~都必须是英文半角

  • 修改后主要是

    • 在老$PATH(黄色)之后
    • 增加了~(红色)

      • 当前用户文件夹(~)
      • 也就是shiyanlou的用户文件夹
      • /home/shiyanlou
    • 增加后的结果就是新$PATH

      • 就在蓝色方框内
  • /home/shiyanlou 下有 sleep.py

    • 这回能运行么

尝试运行

  • 原来根本找不到的sleep.py

  • 现在说的是权限不够

    • 说明可以找到了
    • 虽然由于权限问题不能运行
  • 这说明

    • shiyanlou的宿主目录已经进入系统路径$PATH了
    • 只是权限不够
    • 还是需要给当前用户执行权限

  • chmod u+x sleep.py

    • sleep.py的owner是shiyanlou
    • shiyanlou就是当前用户
    • 给当前用户增加执行权限(execute)
  • 然后再尝试运行python.py

成功运行

  • sleep.py确实直接运行了!

    • 换个路径也可以么?🤔

执行过程

  • 换个路径也能找到sleep.py

  • 在内存中运行的python3

    • 解释执行 sleep.py
    • 每隔 1s 输出一次时间
    • ctrl+c结束进程
  • 但是关闭当前终端
  • 重新打开新的 xfce终端

    • 这个新$PATH就失效了
    • sleep.py也找不到了

  • 这可怎么办呢?

重启终端过程

  • 新开一个终端之后

  • $PATH 就回到了最初

    • 不包含/home/shiyanlou了
    • 找不到 sleep.py 了
  • 我希望每次新打开 terminal

    • 就自动把 $PATH 设置好
  • 应该怎么办?

终端初始化

  • 研究一下终端的初始化过程
  • 当我们运行某个shell文件的时候

    • 首先会运行shell的rc文件
    • rc也就是 run command 配置文件
  • shiyanlou的 默认shell 是 zsh

    • 对应的 rc文件 就是 ~/.zshrc
    • 试着编辑他
    • vi ~/.zshrc

      • G到最后一行
      • o 在下方插入一个新行并进入编辑模式
      • 试着加一行输出

再新开终端

  • 然后重新打开一个xfce终端

  • 这说明新开终端的时候就会执行

    • ~/.zshrc
    • 因为我们默认的shell是zsh
  • 如果默认的shell不是zsh

    • 而是bash
  • 会如何呢?

~/.bashrc

  • zsh对应的rc文件是~/.zshrc
  • bash对应的 rc文件是~/.bashrc

    • 试着编辑他
    • vi ~/.bashrc

      • G到最后一行
      • o 在下方插入一个新行并进入编辑模式
      • 试着再加一行输出

  • 切换shell的时候会有相应的提示

  • 既然如此
  • 我们可以把export PATH=$PATH:~这句话

    • 放在默认的shell(zsh)的配置文件(~/.zshrc)中
  • 这样新每次运行zsh终端的时候

    • 就自动完成路径配置
    • 把~加入到$PATH的路径列表中

~/.zshrc

# 编辑zsh的配置文件rc(run command)
vi ~/.zshrc
  • 编辑这个配置文件

    • 在尾行下面加一句话
    • export PATH=$PATH:~
    • 可能不一定是124行
    • 只要是最后一行就行

  • 以后只要是进 zsh

    • $PATH 列表中就会包含用户文件夹~(/home/shiyanlou)
  • 可是

    • 这个 ~/.zshrc 到底是啥意思

理解rc文件

  • ~/.zshrc

    • ~ 指的是当前用户的用户宿主文件夹

      • 此配置只对当前用户(shiyanlou)有效
    • 首字母 . 说明这文件是个隐藏文件

      • ls 看不见
      • ls -a 才能看见

  • zshrc

    • zsh 指的是 当前shell是 zsh
    • 而不是 bash
    • bash 就得用 ~/.bashrc 进行配置
  • 这个rc是什么意思呢?

rc

  • rc 指的是 run commands 的缩写

    • 运行程序
    • 很多东西在配置 shell 的时候不用重复手动运行
    • 写到 rc 里面
    • 启动 shell 或者软件的时候就可以批量处理了

      • ~/.zshrc
      • ~/.vimrc
      • ~/.bashrc

  • 这个初始化程序对于新建的终端窗口是好用的

    • 但是还得重启一下zsh才能应用
  • 我想要就在当前的zsh下运行一把~/.zshrc
  • 可以么?

运行当前zsh的初始化文件

  • 运行~/.zshrc配置文件

    • source ~/.zshrc
    • 这就是手动执行执行~/.zshrc
  • 或者直接运行zsh也可以

  • 执行之后

    • 路径就设置好了

总结

  • 这次修改了 $PATH 路径

    • 把当前用户shiyanlou的宿主文件夹 ~

      • 添加到 $PATH
    • 这样 sleep.py 就可以被找到
    • 于是就可以被执行了
  • 还可以把配置 $PATH 的脚本

    • 放到 zsh的配置文件(~/.zshrc) 中
    • 配置 ~/.zshrc 就可以

      • 设置 zsh 环境下默认的 $PATH
  • 在当前路径运行 sleep.py

    • python 程序第 1 行

      • 声明打开方式为 python3
    • /usr/bin/python3

      • 从硬盘调用到内存

        • 成为一个进程

          • 不断输出时间
        • ctrl+c结束进程

  • 我想看到 python3 这个进程

    • 可能吗?🤔
  • 下次再说👋
  • 蓝桥->oeasy 教您玩转 python_Python - 蓝桥云课
  • github->GitHub - overmind1980/oeasy-python-tutorial: 良心的 Python 教程,面向零基础初学者简明易懂的 Python3 入门基础课程。在linux+vim生产力环境下,从浅入深,从简单程序学到网络爬虫。可以配合蓝桥云上实验环境操作。
  • gitee->oeasy教您玩转python教程: 面向零基础初学者的简明易懂的 Python3 入门课程,对没有编程经验的同学也非常友好。在vim下从浅入深,逐步学习。从基础入门学习到爬虫。
  • 视频->[oeasy]教您玩转python零基础学python入门教程(合集)_哔哩哔哩_bilibili 作者:oeasy

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/97406.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

winform中使用SqlSugar和SQLite

winform虽然是老古董了,但是在开发桌面方面,还是得心应手的,比如开发一个小工具,小demo之类的。接下来,我们使用SqlSugar和SQLite数据库,在winform中运用。 1.首先建立一个程序 2.安装 System.Data.SQLite…

宿舍管理系统的设计与实现

开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 1登录:学生进行用户登陆密码核对,并可对自己的信息进行修改。 2.宿舍水电费管理:学生…

CloudCompare配置介绍

和前面系列博客一样,咱们还是从官网介绍先去了解新东西。官网网址如下: CloudCompare - Open Source project 顶部菜单中提供了下载,手册查找入口,github路径如下: GitHub - CloudCompare/CloudCompare: CloudCompar…

想辞职转行做程序员,需要学习哪些内容?

第一步,还是要明确具体的职业方向。 程序员是个统称,写代码的都叫程序员,但Java程序员,或是Python程序员,这才是职业。就好像很多大学生,专业是软件工程,这玩意儿并不是职业,学的内…

工作3年才8K,新招的测试一来就是14K,凭什么?

最近朋友给我分享了一个他公司发生的事,大概的内容呢:公司一位工作3年的测试工资还没有新人高,对此怨气不小,她来公司辛辛苦苦三年,三年内迟到次数都不超过5次,每天都是按时上下班,工作也按量完…

5_MyBatis代理模式开发-1_使用Mapper代理方式实现查询

前面已经使用MyBatis完成了对Emp表的CRUD操作,都是由SqlSession调用自身方法发送SQL命令并得到结果的,实现了MyBatis的入门。 但是却存在如下缺点: 1. 不管是selectList()、selectOne()、selectMap(),都是通过SQLSession对象…

SAP Gateway 上的 Metadata Cache

SAP Gateway Foundation 缓存服务的元数据信息以显着提高性能。 SAP 提供了三种类型的缓存: 在 hub 上缓存。 在 Hub 系统上缓存了元数据模型、注释模型以及服务的注释文本。 在后端缓存。 在后端仅缓存元数据模型和注释模型。 后端不需要注释文本来进行服务实例…

ubuntu开启TFPT

一、开启tfpt: sudo apt-get install vsftpd 对 vsftpd 进行配置,输入命令: sudo gedit /etc/vsftpd.conf 主要做以下修改,使以下设置生效: anonymous_enableNO local_enableYES write_enableYES 重新启动 vsftpd 服务…

【C语言】实用调试技巧

目录 1.什么是bug? 2. 调试是什么?有多重要? 2.1 调试是什么? 2.2 调试的基本步骤 2.3 Debug和Release的介绍 3. Windows环境调试介绍 3.1 调试环境的准备 3.2 学会快捷键 3.3 调试的时候查看程序当前信息 3.3.1 查…

使用ssd1306驱动,来驱动0.96寸中景园oled屏幕

硬件 nucleo-f411RE, 中景园oled屏幕(0.96寸,七线) 驱动文件地址 stm32-ssd1306 驱动文件说明 使用的库:HALHALHAL 支持的通信协议:SPI/IICSPI/IICSPI/IIC 文件结构: 其中,驱动文件在ssd1306ssd1306ssd1306文件中…

LeetCode题解 二叉树(四):我要打十个?层序遍历变式九道

前言: 本篇涉及的题目都与10 二叉树的层序遍历有关,共九道题 107.二叉树的层次遍历II medium199.二叉树的右视图 medium637.二叉树的层平均值 easy429.N叉树的前序遍历 medium515.在每个树行中找最大值 medium116.填充每个节点的下一个右侧节点指针 me…

机器学习——详解判别模型求解分类问题

目录 逻辑回归 判别模型(discriminative model) 设计模型Function set设计函数选择最好的w和b更新参数w和b 逻辑回归与线性回归对比 逻辑回归为什么用交叉熵来找最优的参数而不用MAE或MSE GM与DM区别 多维分类——以三类别为例 GM 生成模型DM 判别模型 输入特征处理→深度学习…

财务人员学Python有用吗?

财务人员学Python有用吗?作为财务人员每天面对大量的数据,财务人员用Python做小工具,录单审凭证不到1分钟就搞定了。把更多的时间花在财务分析上,更好更快地完成工作。 Python作为一门编程语言,属于IT技术自动化技术、…

Python:遗传算法最优路径

Hello,大家好!读研前写过一篇遗传算法的代码,比较简单,算是个入门,当时就有想用它来解决最优路径的问题,上算法导论课时碰巧有听到同学有分享过,但由于自己研究的方向不是这块,就没有…

【LeetCode每日一题】——968.监控二叉树

文章目录一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【解题思路】七【题目提示】八【时间频度】九【代码实现】十【提交结果】一【题目类别】 树 二【题目难度】 困难 三【题目编号】 968.监控二叉树 四【题目描述】 给定一个二叉树&…

入门:从虚拟机到容器

从虚拟机到容器 前面我们成功安装了Docker学习环境,以及浅尝了一下Docker为我们带来的应用快速部署。在正式进入学习之前,我们就先从Docker的发展开始说起。 在Docker出现之前,虚拟化技术可以说是占据了主导地位。首先我们来谈谈为什么会出现…

Adobe Pro DC 2022 软件详细安装教程

一、软件下载 网盘链接:Adobe Pro DC 2022 提取码:ib19 二、详细安装教程 1、解压安装包,右键安装程序Set-up,点击以管理员身份运行 2、更改软件安装位置,建议安装至除C盘外的其他盘(如不需更改直接点击【继续】即可…

自学编程的朋友,我想给你们这 5 个建议

0基础学编程,我想给你这 5 个建议 很多人都想转行互联网,不管是出于兴趣、行业前景还是薪资的考虑,想要转行互联网的人们必须要面对一个问题,那就是如何自学编程,更确切的说,是如何0基础学编程。 其实我基…

小师弟:2022广东省工科赛分享(越障排爆省一,完整项目)

目录日常唠嗑前言一、实验效果二、赛题分析及方案1、赛题内容:初赛:决赛:2、实施方案:三、材料选择四、程序设计程序思路PID:越障部分:颜色识别部分:五、竞赛心得六、工程获取日常唠嗑 小师弟说…

J-002 Jetson电路设计之电源设计--NANO XAVIER NX

Jetson电源设计1 电源说明1.1 电源和系统引脚描述1.2 电源控制框图详情2 上电的时许2.1 框图分析2.2 上电时序3 GND引脚1 电源说明 Jetson NANO和XAVIER NX核心板的电源为DC-5V。 1.1 电源和系统引脚描述 PIN名称描述方向类型251-260VDD_IN主电源输入5.0V235PMIC_BBATRTC时钟…