一、命令可执行文件所在目录##
shell命令可执行文件所在目录是保存在环境变量PATH中的,终端输入如下命令查看 PATH 环境变量的内容:
$ echo $PATH
我的linux输出如下:
/opt/ros/indigo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
二、自定义shell命令##
在 /home/hj(注:hj为用户目录)目录创建一个 mybin 目录,并将上述 hello.sh 和 helloworld 文件移动到其中:
$ mkdir mybin
$ cd mybin
创建一个 Shell 脚本###
$ gedit hello.sh
添加如下内容,保存并退出:
#!/bin/bash
echo "hello shell!"
exit 0
赋予权限
$ chmod 777 hello_shell.sh
创建可执行文件###
$ gedit helloworld.c
添加如下内容,保存并退出:
#include <stdio.h>
int main()
{
printf("hello world!\n");
return 0;
}
使用 gcc 生成可执行文件:
$ gcc helloworld.c -o hellowold
在环境变量PATH中添加命令可执行文件所在目录###
这里有三种不同方式
- 1、直接在命令行中设置PATH
PATH=$PATH:/home/hj/mybin
使用这种方法,只对当前会话有效,也就是说每当登出或注销系统以后,PATH设置就会失效。
- 2、在profile中设置PATH
$ gedit /etc/profile
找到export行,在下面新增加一行,内容为:\(export PATH=\)PATH:/home/hj/mybin$。
编辑/etc/profile后PATH的修改不会立马生效,如果需要立即生效的话,可以执行:
$ source profile
或者
# . profile
这里的.就是source。
注:这里的/etc/profile文件是每个用户登录时都会运行的环境变量设置,所以对任何用户都生效。
- 3、在当前用户目录下的.bashrc中设置PATH
$ gedit .bashrc
添加保存:
$ export PATH=$PATH:/home/hj/mybin。
后键入命令
$ source .bashrc
让修改生效。
注:.bashrc是当前用户登录时运行的环境变量设置,所以这种方法只对当前用户起作用的,其他用户该修改无效。
三、运行自定义命令##
在终端输入
$ hello.sh
与
$ helloworld
输出结果如下: