放入路径
回忆上次内容
-
我们要在任意路径下直接执行
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就是当前用户
- 给当前用户增加执行权限(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
- 对应的 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