linux_shell自定义命令
一、命令可执行文件所在目录##
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自定义命令的更多相关文章
- node生成自定义命令(yargs/commander)
第一部分可以生成一个自定义命令,例如常见的”express”,yargs和commander则可以在生成的自定义命令上做扩展,yargs将命令扩展成类似express --l xx的形式;而comma ...
- laravel 自定义命令
1.自定义命令:将自定义命令保存在app/Console/Commands,也可以在composer.json文件配置自动加载,自由选择想要放置的地方 php artisan make:console ...
- Linux自定义命令
linux自定义命令,就是给当前命令取个别名.比如:ls 列出当前的文件,rm + 文件名 就能删除该文件,如何自定义命令,可以使用alias比如:alias gobin='cd /opt/tomca ...
- cmd alias 自定义命令
简短步骤:1.关闭所有在运行的CMD窗口2.创建文件C:\cmd-alias.bat,包含以下内容:[python] view plain copydoskey sayhello=echo Hello ...
- WPF自定义命令和处发命令
接实现ICommand接口的命令.在介绍之前,先看一下ICommand接口的原型: event EventHandler CanExecuteChanged; bool CanExecute(obje ...
- SourceInSight自定义命令说明与应用
1.自定义命名设置界面(Tool -> Custom Commands...) Command 显示当前选中命令的名字. 下拉列表中包含了所有的自定义命令. Run 命令行,当调用自定义命令时, ...
- Linux 创建自定义命令
Linux 创建自定义命令 Linux 可以创建自定义使用命令 这里我们采取使用“alias”命令.这里我们首先了解两个文件,通过这两个文件我们可以根据环境配置相应的自定义命令. 该文件内创建的自定义 ...
- Mac 命令行,自定义命令
例如自定义命令 gotoXFolder, 直接进入XFolder文件夹, XFolder地址为~/abc/def/Xfolder 步骤: 1. 在home文件夹下创建.profile文件 在.prof ...
- u-boot-1.1.6实现自定义命令
学习目标: 1.了解u-boot-1.1.6中命令的实现机制 2.掌握如何在u-boot-1.1.6中添加自定义命令 1.命令的实现机制 uboot运行在命令行解析模式时,在串口终端输入uboot命令 ...
随机推荐
- linux shell脚本调用java main方法 代码传值
#!/bin/bash #description: ljdjService export PRG_HOME=/ainmc/work/toptea/dataTransfer PRG_KEYWORD=pr ...
- rsync实现数据备份
rsync实现数据备份 1.简介 rsync(remote synchronization)是一款开源的,快速的,多功能的,可实现全量和增量的的本地或远程数据同步备份的优秀工具. 2.功能 scp.c ...
- <操作系统>内存管理
单道程序设计:内存被划分为两部分:一部分供操作系统使用,另一部分供当前正在执行的程序使用. 多道程序设计:内存中进一步细分用户部分,以满足多个进程的要求. 内存管理的需求: 重定位:程序从磁盘换入内存 ...
- JMS和AMQP的区别
JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信 ...
- kubernete 数据库 etcd
etcdctl --cert-file /etc/ssl/etcd/ssl/member-pserver78.pem --key-file /etc/ssl/etcd/ssl/member-pserv ...
- oracle 记录被另一个用户锁住
第一步:查询处用户,被锁表名,sessionID select b.owner,b.object_name,l.session_id,l.locked_modefrom v$locked_object ...
- 【转】Influxdb 编译
编译针对当前 github上influxdb的master代码 其实github上的CONTRIBUTING.md 里已经说的很明白,按其一步步来开即开,唯一遇到的问题可能就是下载依赖时被墙无法下载, ...
- 【转】浅谈JavaScript中forEach与each
forEach是ES5中操作数组的一种方法,主要功能是遍历数组,例如: var arr = [1,2,3,4]; arr.forEach(alert); 等价于: var arr = [1, 2, 3 ...
- IO复用\阻塞IO\非阻塞IO\同步IO\异步IO
转载:IO复用\阻塞IO\非阻塞IO\同步IO\异步IO 一. 什么是IO复用? 它是内核提供的一种同时监控多个文件描述符状态改变的一种能力:例如当进程需要操作多个IO相关描述符时(例如服务器程序要同 ...
- 历时25天,我的博客(www.ityouknow.com)终于又活了过来
时间回到2016年的7月10号,那时候我刚刚开始正式在博客园写博客,博客园的交流氛围很好,但鉴于博客园古老的界面,同时计划创建一个自己独立的博客,毕竟自己的博客怎么折腾都行. 那时候正在研究 Spri ...