一、命令可执行文件所在目录##

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

输出结果如下:

linux_shell自定义命令的更多相关文章

  1. node生成自定义命令(yargs/commander)

    第一部分可以生成一个自定义命令,例如常见的”express”,yargs和commander则可以在生成的自定义命令上做扩展,yargs将命令扩展成类似express --l xx的形式;而comma ...

  2. laravel 自定义命令

    1.自定义命令:将自定义命令保存在app/Console/Commands,也可以在composer.json文件配置自动加载,自由选择想要放置的地方 php artisan make:console ...

  3. Linux自定义命令

    linux自定义命令,就是给当前命令取个别名.比如:ls 列出当前的文件,rm + 文件名 就能删除该文件,如何自定义命令,可以使用alias比如:alias gobin='cd /opt/tomca ...

  4. cmd alias 自定义命令

    简短步骤:1.关闭所有在运行的CMD窗口2.创建文件C:\cmd-alias.bat,包含以下内容:[python] view plain copydoskey sayhello=echo Hello ...

  5. WPF自定义命令和处发命令

    接实现ICommand接口的命令.在介绍之前,先看一下ICommand接口的原型: event EventHandler CanExecuteChanged; bool CanExecute(obje ...

  6. SourceInSight自定义命令说明与应用

    1.自定义命名设置界面(Tool -> Custom Commands...) Command 显示当前选中命令的名字. 下拉列表中包含了所有的自定义命令. Run 命令行,当调用自定义命令时, ...

  7. Linux 创建自定义命令

    Linux 创建自定义命令 Linux 可以创建自定义使用命令 这里我们采取使用“alias”命令.这里我们首先了解两个文件,通过这两个文件我们可以根据环境配置相应的自定义命令. 该文件内创建的自定义 ...

  8. Mac 命令行,自定义命令

    例如自定义命令 gotoXFolder, 直接进入XFolder文件夹, XFolder地址为~/abc/def/Xfolder 步骤: 1. 在home文件夹下创建.profile文件 在.prof ...

  9. u-boot-1.1.6实现自定义命令

    学习目标: 1.了解u-boot-1.1.6中命令的实现机制 2.掌握如何在u-boot-1.1.6中添加自定义命令 1.命令的实现机制 uboot运行在命令行解析模式时,在串口终端输入uboot命令 ...

随机推荐

  1. QT 11 鼠标键盘事件添加

    鼠标事件 void mousePressEvent(QMouseEvent *event); //单击 void mouseReleaseEvent(QMouseEvent *event); //释放 ...

  2. oracle 11.2.0.4 dbca创建数据库时 报错ORA-12532

    ORA-12532:TNS:无效参数 在实例安装到50%的时候ORA-12532的错误. 原因: sys密码中包含‘@’字符引起的.重新设置,通过.

  3. Python排序算法——希尔排序(Shell’s Sort)

    有趣的事,Python永远不会缺席! 如需转发,请注明出处:小婷儿的python https://www.cnblogs.com/xxtalhr/p/10793487.html 一.希尔排序(Shel ...

  4. Objective-C 基于Aspects

    JavaScriptCore没有禁,因为各种小程序都在用 网络下载文件没有禁

  5. 【Codeforces 152E】Garden

    Codeforces 152 E 题意:给你一个\(n\times m\)的格子,每个格子里面有一个值\(a_{i,j}\)表示如果要将这个格子变成路的话需要花费这么多代价.现在有\(k\)个特殊格子 ...

  6. java 面向对象基本概念

    1.面向对象与面向过程 (1).都是解决问题的思维方式,都是代码组织的方式. (2).解决简单问题可以使用面向过程 (3).解决复杂问题:宏观上使用面向对象把握,微观处理上仍然是面向过程. 2.面向对 ...

  7. android精品开源项目整理

    转载地址:http://www.eoeandroid.com/thread-311366-1-1.html 前言:无论你是android的初学者,还有是Android开发了好多年的高手,可能都会有很多 ...

  8. 如何通过C#开发调用Skyline软件中提供的小工具

    熟悉Skyline的朋友会知道,在TerraBuilder和TerraExplorer Pro软件的安装目录里,提供了很多个小工具(exe程序): 虽然我们看不到这些小工具的源代码,但我们还是可以在自 ...

  9. React-异步组件及withRouter路由方法的使用

    所有组件的代码都打包在bundle.js里,加载首页的时候,把其它页面的代码也加载了,影响首页加载速度.我们希望访问首页的时候只加载首页,访问详情页的时候再去加载详情页的代码.异步组件可以帮我们实现, ...

  10. linux配置iptables(3)

    简单通用 web 服务器iptables 配置 *filter :INPUT DROP [0:0]:FORWARD DROP [0:0]:OUTPUT ACCEPT [0:0] #超出 链规则 的数据 ...