【问题标题】:Loop through num_machines In the below script the value in expression num_machines=X the value will change every time遍历 num_machines 在下面的脚本中,表达式 num_machines=X 中的值每次都会改变
【发布时间】:2014-11-09 11:43:35
【问题描述】:

对于下面的脚本,如果 MACHINES_NUM 发生变化,假设 MACHINES_NUM 是 3 还是 4。那么我的脚本应该使用 MACHINES_NUM 中的值。

MACHINES_NUM=x

如果它是 3,那么它应该使用 4,那么它应该使用 3。MACHINES_NUM 值将始终在每次我们运行脚本时发生变化。

if [ "$MACHINES_NUM" = x] 

然后

mkdir -p /RDS_RO/HOME/MACHINE1

mkdir -p /RDS_RO/HOME/MACHINE2

fi

类似

对于 1 2 3 4 5 中的 LOCATORS_NUM

做

echo "欢迎 $LOCATORS_NUM 次"

完成

请有人帮忙......

【问题讨论】:

  • 为什么一定要用ksh?而且,你为什么把它标记为bash 而不是ksh?
  • 因为我服务器上的所有脚本都是 ksh @MarkSetchell
  • 请问如何在shell中制作if/else?
  • 是的,你的权利@Zulu

标签: linux shell sh ksh


【解决方案1】:

在POSIX shell中,兼容ksh和其他shell:

if [ "$MACHINES_NUM" = 2 ] 
then
    mkdir -p /RDS_RO/HOME/MACHINE1
    mkdir -p /RDS_RO/HOME/MACHINE2
fi

【讨论】:

  • 原版中缺少空格,第一次插入失败。
  • 每次我们运行脚本时,MACHINES_NUM 的值都会改变。假设我们第一次运行它时它可能会得到 2,然后它可能会得到一个值 5。那么我应该如何给出 MACHINES_NUM 的值。 @chepner
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-11
  • 1970-01-01
相关资源
最近更新 更多