这个shell语句是什么意思?

时间:2017-03-21 03:03:02

标签: shell

当我安装nvm时,我遇到了这个shell语句[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"

在本声明[ -s "$NVM_DIR/nvm.sh" ]中,它是什么意思?

1 个答案:

答案 0 :(得分:1)

在shell脚本中,[命令是test命令的别名,用于实现条件表达式。

如果您阅读bash手册页的“条件表达式”部分,您会发现:

   -s file
          True if file exists and has a size greater than zero.

因此,[ -s "$NVM_DIR/nvm.sh" ]表达式是一个条件表达式,如果0处的文件都存在并且大小大于0,则返回成功($NVM_DIR/nvm.sh)。

完整的表达......

[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh".

...基本上读取“如果文件存在并且大小大于0,则将文件源化为当前shell”。