如题,在 busybox 中,busybox 命令会被软链到 ls,又被软链到 wc,但是在执行软链 ls 和 wc 的时候,输出(命令的作用)又是不同的,请教一下大佬们,这个咋实现的?
想在 google 里面搜索的,但是不知道咋表达,也没找到有用的信息。
如题,在 busybox 中,busybox 命令会被软链到 ls,又被软链到 wc,但是在执行软链 ls 和 wc 的时候,输出(命令的作用)又是不同的,请教一下大佬们,这个咋实现的?
想在 google 里面搜索的,但是不知道咋表达,也没找到有用的信息。
|
1
bash
if [ "$(basename $0)" = 'wc' ] then |
|
2
看 busybox 的代码就知道了
我猜 busybox 的代码里判断软连的文件名然后执行不同的代码 |
|
podelJul 24, 2019
4
不管是 windows 还是 linux 你命令执行程序的时候, 第一个系统参数 是 你调用的命令的名字。
应该是通过这个实现的。 |
|
lihongjie0209Jul 24, 2019
5
|
|
skylancerJul 24, 2019
6
@lihongjie0209 linux 分区,谢谢茄子
|
|
7
|
|
Les1ieJul 24, 2019
10
PS:
iptables ip6tables 也是这样的,实际上是链接到了 xtables-multi |
|
wweirJul 24, 2019 via Android
11
os.Args [ 0 ]
|
|
LGA1150Jul 24, 2019
12
argv[0]
|
|
muzuigetJul 25, 2019
13
判断命令行第一个参数就是了,好多语言都支持。
|
|
AlynxZhouJul 25, 2019
14
学 C 的时候书上没说 argv[0] 是干啥的吗……建议把那本书撕了……
|