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

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. Hue添加MySQL数据库

    Hue没有配置RDBMS 问题描述 CHD集群添加完Hue组件之后.使用hive进行查询正常,但是使用DB Query查询报错, 报错内容如下: 解决方法 1. 在CHD集群中点击Hue组件,选择配置 ...

  2. MATLAB——BP神经网络

    1.使用误差反向传播(error back propagation )的网络就叫BP神经网络 2.BP网络的特点: 1)网络由多层构成,层与层之间全连接,同一层之间的神经元无连接 . 2)BP网络的传 ...

  3. Echo团队Alpha冲刺随笔 - 第四天

    项目冲刺情况 进展 前端:完成了差不多一半,小程序部分界面基本完工,WEB端也完成了一部分 后端:也完成了大半了 问题 后端文件上传还没解决 心得 进度还行,团队配合都还不错 今日会议内容 黄少勇 今 ...

  4. flask config

    # config配置 { 'DEBUG': False, # 是否开启Debug模式 'TESTING': False, # 是否开启测试模式 'PROPAGATE_EXCEPTIONS': None ...

  5. FreeRTOS创建任务

    创建任务的函数如下: 第一个参数是:任务函数指针,即任务函数名. 敲黑板:创建任务和任务函数是两码事,一定要分清楚: 第二个参数是:这个参数不被FREE RTOS调用,就是辅助调试用的: 第三个参数是 ...

  6. tiled卷积神经网络(tiled CNN)

    这个结构是10年Quoc V.Le等人提出的,这里的tiled,按照 Lecun的解释是Locally-connect non shared.即是局部连接,而且不是共享的,这是针对于权重来说的.本文翻 ...

  7. 关于LED效率,这4点你应该知道

    关于LED效率,这4点你应该知道 发布时间:2017-08-22 12:09:35 原创:中国LED网 内容概要: 1. 这些灯的一些光通过转换器或磷光体转换成较长波长(绿色.黄色和红色光)的光,将所 ...

  8. ASP.NET RAZOR自动生成的js Timer

    <input type="hidden" value="@(Model.TimeLength)" id="examTimeLength" ...

  9. (转)Syntax error:

    但是运行时总是报下面这个错,如下: test11-loop.sh: 5: Syntax error: Bad for loop variable 几经查找语法,没有问题,后来在网上找到问题原因: 代码 ...

  10. Android 真机调试

    /************************摘抄*****************************/ 刚好遇到这个问题,在网上百度了一下,看到有人分享了引起该问题的几个原因: 1.手机设 ...