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

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

转载于:https://blog.51cto.com/muyusen/2327747

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值