文档章节

Linux 命令优先级 —— alias、function、内部命令(make)

雪落青山
 雪落青山
发布于 10/17 20:00
字数 409
阅读 9
收藏 1

Linux 命令优先级 —— alias、function、内部命令(make)

make

  • 新建Makefile文件,在里面输入如下内容;
# Makefile内容
all:
@echo "Make Command echo : Hello "
  • 保存,执行 which make ,查看make命令的位置
$ which make
/usr/bin/make
  • 执行make,查看输出:
$ make
Make Command echo : Hello

function make

  • 新建文件envsetup.sh,在里面输入如下内容:
#!/bin/bash

function make(){
    echo "Function Make echo : Hello"
    make

    exit
}

  • 执行 source envsetup.sh

  • 执行make

$ make
Function Make echo : Hello
Function Make echo : Hello

……

此时可以看到,死循环了,在function make 里面调用的还是function make

alias make

  • 在~/bin/下新建makex,输入如下内容:
$ cat ~/bin/makex
#!/bin/bash

echo "Alias Make echo : Hello"

  • 设置别名:alias make=~/bin/makex

  • 执行make

$ make
Alias Make echo : Hello

说明:alias make 的优先级高于command make

  • 修改~/bin/makex 文件
#!/bin/bash

echo "Alias Make echo : Hello"
make
  • 执行make
$ make
Alias Make echo : Hello
Make Command echo : Hello

alias make 中可以直接调用内部命令make

  • 修改~/bin/makex
$ cat ~/bin/makex

#!/bin/bash

function make(){
    echo "Function Makex echo : Hello"
    command make
}

echo "Alias Make echo : Hello"
make

  • 执行make
$ make
Alias Make echo : Hello
Function Makex echo : Hello
Make Command echo : Hello

优先级:alias > function make > 内部命令make

function make 和 command make

  • 修改envsetup.sh文件
$ cat envsetup.sh
#!/bin/bash

function make(){
    echo "Function Make echo : Hello"
    command make
}

  • source envsetup.sh

  • 执行make

$ make
Function Make echo : Hello
Make Command echo : Hello

结果: 1、fucntion make 的优先级高于command make 2、在function 中可以调用内部make命令,但是要加上command

© 著作权归作者所有

共有 人打赏支持
雪落青山
粉丝 3
博文 26
码字总数 34455
作品 0
南京
程序员
私信 提问
Linux中 别名、内部命令、外部命令、hash缓存表 系统调用时的优先级比较

Linux系统中别名、内部命令、外部命令、hash缓存表 优先级优先级比较 在我们平时使用Linux系统执行各种命令时,会发现命令在执行过程中会区分哪个优先执行,哪个其次执行,这里我们来做个试验...

键盘侠X
2017/05/21
0
0
Bash简介 & Bash是如何处理命令的

什么是shell 简单点理解,就是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具。实际上,在shell和计算机硬件之间还有一层东西那就是系统内核了。打个比方,如果把计算机硬件比...

OldChicken_
11/03
0
0
linux常用命令(4)——系统管理2

改变程序执行的优先级 nice 设置优先权 nice -n -5 vi & 用root给一个nice值为-5,用于执行vi renice 调整已存在优先权 13. chkconfig chkconfig --list 显示各种服务的状态,利用chkconfig可...

大道无形
2014/03/01
0
0
笔记四、Linux基础入门

前言 直接已经教大家如何创建虚拟机和安装CentOS 操作系统了,那么今天就来开始入门吧。linux对于新手来说并不难,linux的构造 http://www.178linux.com/68853 这篇博客里我已经讲解了,有兴...

菜鸡天然呆
2017/02/23
0
0
高级 Linux 命令精通指南,第 2 部分

alias l='ls -d .* --color=tty'alias ll='ls -l --color=tty'alias mv='mv -i'alias oh='cd $ORACLE_HOME'alias os='echo $ORACLE_SID'alias rm='rm -i'alias tns='cd $ORACLE_HOME/network......

houlizhi
06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot源码:启动过程分析(二)

接着上篇继续分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 一样的,我们先把时序图贴上来,方便理解: 二.源码分析 回顾一下,前面我们分析到了下...

Jacktanger
昨天
0
0
Apache防盗链配置,Directory访问控制,FilesMatch进行访问控制

防盗链配置 通过限制referer来实现防盗链的功能 配置前,使用curl -e 指定referer [root@test-a test-webroot]# curl -e "http://www.test.com/1.html" -x127.0.0.1:80 "www.test.com/1.jpg......

野雪球
昨天
2
0
RxJava threading

因为Rx针对异步系统设计,并且Rx也自然支持多线程,所以新的Rx开发人员有时会假设Rx默认是多线程的。在其他任何事情之前,重要的是澄清Rx默认是单线程的。 除非另有说明,否则每次调用onNex...

woshixin
昨天
0
0
Python的安装及文件类型、变量

一、为什么学习python 服务于大数据、人工智能、自动化运维。 简单易学 代码简洁 薪资高 近几年越来越火 二、Python的安装 linux 系统默认安装, CentOS7 默认安装了python2.7 安装ipython y...

枫叶云
昨天
1
0
JeeSite 4.x 树形结构的表设计和用法

有些同仁对于 JeeSite 4 中的树表设计不太了解,本应简单的方法就可实现,却写了很多复杂的语句和代码,所以有了这篇文章。 在 JeeSite 4 中的树表设计我还是相对满意的,这种设计比较容易理...

ThinkGem
昨天
28
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部