如何让MAC识别linux BASH?

时间:2010-02-23 08:31:54

标签: macos bash

脚本在Solaris和Linux中运行良好,而不是在残缺的MAC上运行 - 因此没有构建环境

#!/bin/bash
var0=1 
LIMIT=60 
mkdir Application 
cd Application 
while [ "$var0" -lt "$LIMIT" ] 
do 
mkdir "$var0"; 
cd $var0;
    for i in $(seq 1 8192); 
    do mkdir "${i}";
    cd "$i";
    dd if=/dev/urandom of=a bs=4096 count=1 > /dev/null 2>&1;
        mkdir "${i}"; 
        cd "$i"; 
        dd if=/dev/urandom of=a bs=4096 count=1 > /dev/null 2>&1;
            mkdir "${i}"; 
            cd "$i"; 
            dd if=/dev/urandom of=a bs=4096 count=1 > /dev/null 2>&1;
                               cd ..;
                          cd ..;
                     cd ..;
                      done
                 cd ..;
      var0=$((var0 = 1));
         echo "$var0";
        date;

2 个答案:

答案 0 :(得分:2)

所以答案似乎是:

  1. 避免在问题中出现煽动性,并阅读格式化帮助,特别是当它第一次不起作用时! ; - )

  2. 正确增加var0(例如((var0++))((var0 += 1))var0=$((var0 + 1))let "var0=$var0 + 1"等,而不是var0=$((var0 = 1));

  3. 终止while循环。

  4. 这是一个CW,因为它真的是一个社区的努力(我坦率地说,首先没有阅读脚本,但后来Ignacio的评论让我看一看)。

答案 1 :(得分:0)

我不相信OS X有seq,因此您必须使用jot,编写seq函数或使用C风格的for循环:

for ((i=1; i<=8192; i++))