如果在 Linux shell 脚本中第一个条件为真,如何执行第二个条件

bun*_*nny 3 linux script bash shell

我有一个if条件。如果该条件为真,则将运行一个脚本,然后我需要检查另一个条件。

我怎样才能使用if语句或其他东西来做到这一点?

例如,

 if [ condition -eq o ]
 then
 run script
 again condition(this condition depends on above script output value)
 run another script
 else
 exit
Run Code Online (Sandbox Code Playgroud)

Dav*_*ill 6

如果第一个条件为真,如何执行第二个条件

您的代码需要具有以下结构:

if [condition -ne 0]
then 
  do_something 
  if [expression that depends on exit status of do_something]
  then 
    do something_else 
  fi 
fi
Run Code Online (Sandbox Code Playgroud)

句法

if test-commands; then
  consequent-commands;
[elif more-test-commands; then
   more-consequents;]
[else alternate-consequents;]
fi
Run Code Online (Sandbox Code Playgroud)

test-commands执行列表中,如果它的返回状态是零,则consequent-commands执行列表中。

如果test-commands返回非零状态,则依次执行每个 elif 列表,如果其退出状态为零,more-consequents则执行相应 的命令并完成命令。

如果else alternate-consequents存在,并且最后一个 if 或 elif 子句中的最后一个命令具有非零退出状态,则 alternate-consequents执行。

返回状态是最后执行的命令的退出状态,如果没有条件测试为真,则为零。

请参阅下面的示例链接。


进一步阅读