“/bin/[.exe”是合法文件吗?[Cygwin,Windows 10]

Joe*_*Joe 3 shell cygwin

我找不到任何关于此的信息,它是已知文件吗?我在 Windows 10 上使用基于 CYGWIN 的终端

这是它们的位置和我使用的命令。

$ find -name [*
./bin/[.exe
./usr/bin/[.exe

Run Code Online (Sandbox Code Playgroud)
$ ls -l -a -r /* | grep [-.*\>]
...all other files that match this...
-rwxr-xr-x 1 X 197121   67134 Nov  6 14:22 [.exe
drwxr-xr-x 1 X 197121       0 Apr  2 18:15 ..
drwxr-xr-x 1 X 197121       0 Jan 26 03:20 .
Run Code Online (Sandbox Code Playgroud)

我想了解有关此文件以及是否可以删除它的更多信息。

Kus*_*nda 9

您应该不删除该文件。通常,不要删除不是您自己创建的随机文件。

它是该[实用程序的可执行文件。此实用程序与该实用程序完全相同,test但要求最后一个操作数为]。

见man [和man test。

使用示例:

[ -n "hello" ] && echo '"hello" is a non-empty string'
Run Code Online (Sandbox Code Playgroud)

您还可以使用

/bin/[.exe -n "hello" ] && echo 'That works too'
Run Code Online (Sandbox Code Playgroud)

(虽然你不需要.exe在命令行指定后缀)

请注意,这/bin/[.exe是外部 [实用程序的可执行文件。此实用程序通常也可用作 shell 中的内置实用程序。如果您的 shell 是bash,则man bash(和help [)会记录它。

外部[in /binor/usr/bin由没有将此实用程序作为内置工具的外壳使用,或者在从不是外壳的东西(例如使用-execthrough find)执行测试时使用。

有关的:

  • 搜索标点符号是有问题的... (2认同)