自定义命令并实现任意目录使用

很多和我一样的新手朋友会有这样的疑惑,Linux下安装一些工具or软件后就能够使用它的整套命令,它是如何实现的呢?

本篇文章将会带大家一起探究,如何定义一个自己的命令,并让它能在任意目录下被使用。

1)编写一个脚本

我们先确认当前所在目录为/usr/tmp

[root@xxx]# pwd
/usr/tmp

编写一个脚本文件hi.sh

#!/bin/bash
echo "Hello! You call me successful!"

2)修改脚本文件权限

为了能直接使用文件名执行脚本,需要修改文件名将其后缀去除,并修改其文件权限为755

[root@xxx]# mv ./hi.sh ./hi
[root@xxx]# chmod 755 ./hi
[root@xxx]# ll
-rwxr-xr-x 1 root root 50 Aug  5 13:42 hi

此时我们已经可以像输入命令一样,执行该脚本文件了

[root@xxx]# ./hi
Hello! You call me successful!

但是如果我们切换目录,或者我们没有指定脚本所在的路径(例如./),将无法正确执行该脚本

# 不指定脚本路径
[root@xxx]# pwd
/usr/tmp
[root@xxx]# hi
-bash: hi: command not found
# 切换到其他路径执行
[root@xxx]# cd ..
[root@xxx]# hi
-bash: hi: command not found

3)将脚本所在目录添加到环境变量

为了能在任意路径都能用hi命令执行我们的脚本文件,将/usr/tmp路径添加到环境变量中

[root@xxx]# export PATH=/usr/tmp:$PATH
[root@xxx]# echo $PATH
/usr/tmp:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

再次进行测试,成功!

[root@xxx]# pwd
/home
[root@xxx]# hi
Hello! You call me successful!

posted on 2022-08-05 14:05  想向着星辰大海出发  阅读(31)  评论(0编辑  收藏  举报