乐趣区

关于python:oeasypython0030设置路径exportPATHzsh系统路径设置export

放入门路

回顾上次内容

  • 咱们要在任意门路下间接执行 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 这个过程

    • 可能吗?🤔
  • 下次再说👋
  • 蓝桥 ->https://www.lanqiao.cn/course…
  • github->https://github.com/overmind19…
  • gitee->https://gitee.com/overmind198…
  • 视频 ->https://www.bilibili.com/vide… 作者:oeasy
退出移动版