当前位置:   article > 正文

Linux通过配置环境的方式实现 shell脚本可以在任意目录下执行_脚本放任何目录都能执行

脚本放任何目录都能执行

linux通过配置环境的方式实现 shell脚本可以在任意目录下执行

正常情况下 执行脚本必须要在脚本所在的目录下执行才行,比如说 xcall 脚本在 “/root/script” 目录 ,那么你执行xcall也 必须在"/root/script"目录下, 如果你不在"/root/script" 目录执行的话,会报:

[root@zjj101 etc]# sh xcall jps
sh: xcall: 没有那个文件或目录
  • 1
  • 2

解决思路是将脚本所在的文件夹配置到环境变量中 , "/root/script/"是我脚本所在的目录

修改 “/etc/profile” 文件 , 将 /root/script/ 目录加入到环境变量中,

命令:

vi /etc/profile
  • 1

profile文件内容:

export PATH="$PATH:/root/script/"
export PATH

  • 1
  • 2
  • 3

更新下环境变量:

命令:

 source /etc/profile
  • 1

测试结果

sh xcall hostname

[root@zjj101 etc]# sh xcall hostname
要执行的命令是hostname
---------------------zjj101-----------------
zjj101.localdomain
---------------------zjj102-----------------
zjj102.localdomain
---------------------zjj103-----------------
zjj103.localdomain
[root@zjj101 etc]#

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

换个目录依然能执行这个命令

[root@zjj101 etc]# cd /
[root@zjj101 /]# sh xcall hostname
要执行的命令是hostname
---------------------zjj101-----------------
zjj101.localdomain
---------------------zjj102-----------------
zjj102.localdomain
---------------------zjj103-----------------
zjj103.localdomain
[root@zjj101 /]#

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

其它说明

你也可以配置的时候直接执精确到脚本上 /root/script/xcall

export xcall=/root/script/xcall
export PATH="$PATH:/$xcall"
export PATH
  • 1
  • 2
  • 3

执行

执行 sh $xcall hostname 也可以执行

# 执行命令
[root@zjj101 /]# sh $xcall hostname
要执行的命令是hostname
---------------------zjj101-----------------
zjj101.localdomain
---------------------zjj102-----------------
zjj102.localdomain
---------------------zjj103-----------------
zjj103.localdomain
[root@zjj101 /]#

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/178877
推荐阅读
相关标签
  

闽ICP备14008679号