你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

介绍三种任意位置执行脚本方法

[复制链接]
gaosmile 发布时间:2020-5-19 14:21
我们知道,在 Linux 下写完一个脚本,通常情况下我们需要到脚本所在的目录,才可以执行这个脚本。但是大家有没注意到,像 ls 、cd 、pwd 这样的命令,它们的程序是位于 /bin 目录下,但是我们却可以在系统的任意位置都可以执行这些程序。

* o* a$ K$ K2 n: @
它们是怎么做到的?
( d/ ~  |6 c* c* x$ P$ T
那是因为这些命令对应的程序所在路径被加到了 Path 环境变量里。所以我们如果把自己的脚本路径加到了这个变量里,我们也可以实现在任意地方执行自己脚本的效果。
: T1 g/ w0 o/ {' V/ D; P
下面我们来介绍三种方法来达到这个目的。

+ B2 a# C/ N& `
  方法1:将脚本所在路径添加到 `.bashrc` 文件里  

5 X* t2 C$ W: j2 ~  J1 \$ J
我们知道,Bash 在运行起来之后,会先加载 .bashrc 文件。所以,我们可以把脚本路径添加到.bashrc 文件,然后就能达到目标。
) l: C5 X  H/ y+ @
假设,我现在脚本放在 /home/alvin/scripts 目录下,脚本名称是 hello.sh ,运行的结果就是打印一句 hello world 。

- i) R4 a' B1 A3 m
微信图片_20200519141922.jpg
8 Q0 t1 i: O' K  A7 h9 l
然后,我们再把下面这句代码加到 .bashrc 最后:
export PATH="/home/alvin/scriptsPATH"
; z% _9 |: |- `& h
/ V/ Y8 }' J4 D" R
% T& p/ D* U4 H% x7 j% R
微信图片_20200519141925.jpg
% ^% l7 ?9 i+ [) J* L+ @* {
最后,再使用 source 命令使我们的修改生效:
$ source ~/.bashrc
# L" n& g' y6 V- p: B6 t; E1 [
" ?# J# A+ n) N7 l
现在,我们就可以在任何地方使用我们自己的脚本啦~

- x+ `1 M2 J: U6 J
微信图片_20200519141928.jpg

* s4 L) c0 B( q: `/ f- v
  方法2:将脚本所在路径添加到 `.profile` 文件里  
3 a3 @! h/ y* @5 b' n
.profile 文件是一个环境变量配置文件,用户在登录系统的时候加载此文件来配置环境变量。所以我们可以在这个文件里添加我们的路径,使得脚本在任意地方都可以使用。

7 F# H7 j% [' N5 n7 f# j
我们可以在 .proflie 文件末尾加入下面这句代码:
export PATH="$PATHHOME/scripts"
4 o, V1 y+ S- T! ?3 L& P  x8 M) ^# B7 {" I5 C4 `; [
然后,我们需要退出终端再重新登录使修改生效。

+ u( k1 F; l$ ^
如果你使用 Ubuntu 及其衍生发行版,那么就需要修改 .pam_environment 文件,而不是 .profile文件。同样地,在该文件末尾加入这么一句代码:
PATH DEFAULT=${PATH}:/home/@{PAM_USER}/scripts2 a  h' V2 V( a3 z

- o$ G$ m5 W* G1 Z5 V! v
最后,同样重新登录使能修改。

1 B6 G  g) H: m& I% u* X3 Z
这时,大家就可以在任何地方都可以执行你的脚本了。

8 `5 g$ H7 a; n8 X& |9 R5 ]& J
  方法3:将脚本所在路径添加到环境变量里  
  R9 A5 Y4 j6 E- s8 o
这个方法大家应该都能想到,最简单粗暴,直接改环境变量文件。该文件一般位于 /etc 目录下,文件名是 environment 。
sudo vim /etc/environment! e  l+ A' V% K9 r6 }

$ q7 N7 e3 y  J" R6 F- g4 A
我们找到文件里的这么一句配置:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin"2 ^* F1 e# d, O7 L( w+ J
# E3 S. D0 O( K' G7 f3 E$ N0 t4 L  {
我们只要在这句话后面再加上我们的脚本路径即可。

- {( _! b. l8 [3 b: p7 w. r
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/alvin/scripts"
% A& h* x2 i: o* o
8 \2 w/ t% L, P
跟方法2一样,需要将用户登出再重新登录即可,然后我们的目的就可以达成了。
3 H* z+ Y+ f1 K* Q. u3 r% n7 ~5 @* K
  小结  

0 s1 o5 B' _- j  h2 U& _* X* f
本文介绍三种不一样的方法,使得我们自己写的脚本在任何地方都可以直接使用。方法很简单,但学会了会省不少时间!
赞 收藏 1 评论0 发布时间:2020-5-19 14:21

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版