man test
和 man [
是相同的结果
所以 test
和 []
是相同的命令
if
后的 []
, 其实是相当于执行一个test命令, 然后根据返回值来看走哪个分支,所以:
1. [] 可以替换为test,也可以替换为其他shell命令
2. [] 里之所以会有一堆空格,也是因为里面的东西只是作为命令的参数,参数和命令间,参数和参数间当然要有空格
man test
和 man [
是相同的结果
所以 test
和 []
是相同的命令
if
后的 []
, 其实是相当于执行一个test命令, 然后根据返回值来看走哪个分支,所以:
1. [] 可以替换为test,也可以替换为其他shell命令
2. [] 里之所以会有一堆空格,也是因为里面的东西只是作为命令的参数,参数和命令间,参数和参数间当然要有空格