首页 > 解决方案 > bash -ex 输出中 + '[' ']' 的含义

问题描述

'[' ']' 在此输出中表示什么?

$ bash -ex ~/bin/client_services 
+ : starting daemons reqd. for clients
++ ps aux
++ grep -q memcached
+ '[' ']'

我的源文件是:

if [ `ps aux | grep -q memcached` ]; then
  echo 'Memcached exists'
fi

标签: bash

解决方案


你在这里说的是-xbash 的调试标志的输出。首先它必须运行 . ps aux,然后它必须运行grep .... 然后它必须测试结果。测试[...]语法本身就是一个表达式,也必须进行评估。

是正在执行的测试的+ '[' ']'表示,由 显示给您bash -x


推荐阅读