/usr/bin 中的那些链接“[”和“[[”是什么

What are those links '"[" & "[[" in /usr/bin

Busybox 创建了链接到 /bin/busybox 的链接。

它们为什么在那里,它们有什么用?

它们是用于在 shell 脚本中解决问题的命令。它们通常用于在 shell 脚本中决定多个可能的操作。例如:

#!/bin/sh

if [ "" -eq "5" ]; then
    echo You gave me a five.
else
    echo You didn't give me a five.
fi

[ 开头的部分检查脚本的第一个参数是否为 5。为此,它使用 [ 命令。 [[ is similar but has different capabilities.


link 到 /bin/busybox 是 BusyBox 上几个命令使用的技巧。 /bin/busybox 程序处理所有这些命令执行的任务,通过查看您最初用于启动的命令来确定执行哪个命令 /bin/busybox.

这是为了在磁盘上节省一些 space,因为不必为每个可执行文件复制诸如可执行文件头和通用功能等内容。

相反,一堆命令只有一个可执行文件,因此只有一个文件头,并且只需要将常用功能包含在一个文件中,允许静态 linking 之类的技巧而无需一堆重复,这对嵌入式系统很好。