借助shims方式获取mask中的源代码

安装:核心工具 Mask

主要使用工具
mask

Mac 中的安装方式为

brew install mask

核心工具 Mask 相关文档

代码位置

本页面

fake 模拟的代码

通用的 shims 的代码

发表

[借助shims方式获取mask中的源代码]

任务

echo-path

显示 PATH 环境变量

echo "${PATH}"

which-bash

显示 bash 路径

which bash

bash-version

显示 bash 版本

bash --version

bin-bash

使用 /bin 路径中的 bash

export PATH="/bin:${PATH}"
mask echo-path
mask which-bash
mask bash-version

运行后输出

/bin:......
/bin/bash
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin19)
Copyright (C) 2007 Free Software Foundation, Inc.

usr-bash

使用 /usr/local/bin 路径中的 bash

export PATH="/usr/local/bin:${PATH}"
mask echo-path
mask which-bash
mask bash-version

运行后输出

/usr/local/bin:......
/usr/local/bin/bash
GNU bash,版本 5.0.18(1)-release (x86_64-apple-darwin19.5.0)
Copyright (C) 2019 Free Software Foundation, Inc.
许可证 GPLv3+: GNU GPL 许可证第三版或者更新版本 <http://gnu.org/licenses/gpl.html>

本软件是自由软件,您可以自由地更改和重新发布。
在法律许可的情况下特此明示,本软件不提供任何担保。

fake-bash

使用模拟的 bash 回显代码

fake="$(cd fake; pwd)"
echo "${fake}"
export PATH="${fake}:${PATH}"
mask echo-path
mask which-bash
mask bash-version

模拟的 bash 的代码

echo '$# = '${#}
for i in "$@"
do
    echo $i
done

运行后输出

./fake
$# = 2
-c
echo "${PATH}"
$# = 2
-c
which bash
$# = 2
-c
bash --version

raw-code

使用通用的 shims 回显代码

raw_shims="$(cd raw-shims; pwd)"
echo "${raw_shims}"
export PATH="${raw_shims}:${PATH}"
mask echo-path
mask which-bash
mask bash-version
mask raw-code

通用的 shims 的代码

if [ "${#}" -ne 2 ];
then
    exit 1;
fi
if [ "${1}" != "-c" ];
then
    exit 2;
fi
echo "${2}"

运行后输出

./raw-code/raw-shims
echo "${PATH}"

which bash

bash --version

raw_shims="$(cd raw-shims; pwd)"
echo "${raw_shims}"
export PATH="${raw_shims}:${PATH}"
mask echo-path
mask which-bash
mask bash-version
mask raw-code
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值