[oeasy]python0030_设置路径_export_PATH_zsh_系统路径设置_export
放入路径
回忆上次内容
我们要在任意路径下直接执行
sleep.py
把
sleep.py
放在/usr/bin/
下面最终可以在任意位置执行程序
sleep.py
但是
/usr/bin
里面放的一般都是二进制命令文件命令实在是太多太乱
最终还是删除了sleep.py
我想
把宿主目录添加到系统变量
$PATH
中

这样有可能吗?🤔
先回忆🤔
为什么无论当前路径在哪里
ls都能执行
路径

ls所在的路径是/usr/bin
是在系统变量$PATH中的
#!/usr/bin/python3import timewhile True: print(time.asctime()) time.sleep(1)
现在只要把
sleep.py
/home/shiyanlou
所在的文件夹目录
也放到
$PATH
中就可以随地调用其中的sleep.py了
修改 PATH

查看当前$PATHecho $PATH设置$PATH,注意不要加空格export PATH=~:$PATH查看更新后的$PATHecho $PATH
export PATH=~:$PATH
也就是/home/shiyanlou
前面的 PATH 不需要$
~是当前用户 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就是当前用户
给当前用户增加执行权限(e
x
ecute)然后再尝试运行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
G到最后一行
o在下方插入一个新行并进入编辑模式
试着加一行输出
对应的 rc文件 就是 ~/.zshrc
试着编辑他
vi ~/.zshrc

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

这说明新开终端的时候就会执行
~/.zshrc
因为我们默认的shell是zsh
如果默认的shell不是zsh
而是bash
会如何呢?
~/.bashrc
zsh对应的rc文件是~/.zshrc
bash对应的 rc文件是~/.bashrc
G到最后一行
o在下方插入一个新行并进入编辑模式
试着再加一行输出
试着编辑他
vi ~/.bashrc

切换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
ls 看不见
ls -a 才能看见
此配置只对当前用户(shiyanlou)有效
~ 指的是当前用户的用户宿主文件夹
首字母
.
说明这文件是个隐藏文件

zshrc
zsh 指的是 当前shell是 zsh
而不是 bash
bash 就得用 ~/.bashrc 进行配置
这个rc是什么意思呢?
rc
rc 指的是
run commands
的缩写~/.zshrc
~/.vimrc
~/.bashrc
运行程序
很多东西在配置 shell 的时候不用重复手动运行
写到 rc 里面
启动 shell 或者软件的时候就可以批量处理了

这个初始化程序对于新建的终端窗口是好用的
但是还得重启一下zsh才能应用
我想要就在当前的zsh下运行一把~/.zshrc
可以么?
运行当前zsh的初始化文件
运行~/.zshrc配置文件
source ~/.zshrc
这就是手动执行执行~/.zshrc
或者直接运行zsh也可以

执行之后
路径就设置好了
总结
这次修改了
$PATH
路径添加到
$PATH
中把当前用户shiyanlou的宿主文件夹
~
这样
sleep.py
就可以被找到于是就可以被执行了
还可以把配置
$PATH
的脚本设置
zsh
环境下默认的$PATH
放到
zsh
的配置文件(~/.zshrc
) 中配置
~/.zshrc
就可以在当前路径运行
sleep.py
从硬盘调用到内存
不断输出时间
成为一个进程
ctrl+c结束进程
声明打开方式为 python3
在
python
程序第 1 行把
/usr/bin/python3

我想看到
python3
这个进程可能吗?🤔
下次再说👋
蓝桥->https://www.lanqiao.cn/courses/3584
github->https://github.com/overmind1980/oeasy-python-tutorial
gitee->https://gitee.com/overmind1980/oeasypython
视频->https://www.bilibili.com/video/BV1CU4y1Z7gQ 作者:oeasy