放入门路
回顾上次内容
咱们要在任意门路下间接执行
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
- 后面的 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
这个过程- 可能吗?
- 下次再说
- 蓝桥->https://www.lanqiao.cn/course...
- github->https://github.com/overmind19...
- gitee->https://gitee.com/overmind198...
- 视频->https://www.bilibili.com/vide... 作者:oeasy