我想编写一个bash脚本:
bux
bux
的输出包含have
,则不执行任何操作bux
的输出包含X
,请运行命令Y
bux
的输出包含Z
,请运行命令A
答案 0 :(得分:1)
这是一个应该做你想要的脚本(假设bux,Y和A是bash脚本):
#!/bin/bash
OUTPUT=`source bux`
if [[ "$OUTPUT" =~ have ]]; then
:
elif [[ "$OUTPUT" =~ X ]]; then
source Y
elif [[ "$OUTPUT" =~ Z ]]; then
source A
fi
如果您想要执行程序(假设bux,Y和A在路径中):
#!/bin/bash
OUTPUT=`bux`
if [[ "$OUTPUT" =~ have ]]; then
:
elif [[ "$OUTPUT" =~ X ]]; then
Y
elif [[ "$OUTPUT" =~ Z ]]; then
A
fi
答案 1 :(得分:1)
case
语句中的glob模式:
case $(bux) in
*have*)
echo 'do nothing?'
;;
*X*)
Y
;;
*Z*)
A
;;
*)
echo 'default case.' # display an error ...?
;;
esac
显然,如果您愿意,模式可能会更复杂,但这似乎可以满足您的要求。