试图做一个循环

时间:2013-11-04 05:53:42

标签: linux bash loops if-statement

我试图制作一个循环脚本,但似乎无法做到正确。这是我的脚本到目前为止 - 我可以使用2 if语句,但就像我说我试图使它成为一个循环。我是一个非常新的脚本,并会欣赏任何建议。感谢

#!/bin/bash
#source "/node/procTestData/test_directory"
session1="/node/procTestData/test_directory/path_to.proc"     
session2="/node/procTestData/test_directory/path_to.proc2"

file1="/node/procTestData/test_directory/000scratch/path_to.log"
file2="/node/procTestData/test_directory/path_to.log"


dir=$PWD
echo "this is $dir" 

rundir1="/node/procTestData/test_directory/000scratch/single.app/work*"
rundir2="/node/procTestData/test_directory/000scratch/Test.app/work*"

/d/sw/dugproc/20130927/_appCmdLine "$session1"
wait
/d/sw/dugproc/20130927/_appCmdLine "$session2"

wait

echo "session is"
echo $session1
echo $session2

wait

echo "rundir is"
echo $rundir1
cd $rundir1
./run_harness.sh

wait

echo "rundir is"
echo $rundir1
cd $rundir1
./run_harness.sh

wait

echo $rundir2
cd $rundir2
./run_harness.sh

wait

echo "this is $dir"
cd $dir
echo "this is file1"
echo $file1
echo $file2

wait
#       for par in $file1; do
#       if [ -e $par ]; then 
#       echo "this is par"
#       echo "$par" 
#       fi 
#       for par2 in $file2; do
#       if [ -e $par2 ]; then
#       echo "this is par2"
#       echo "$par2"
#       fi
#       done

    for $par in ($file1 , $file2); do
    if [ -e $par ]; then
    echo "this is par"
    echo "$par"
    elif [ -e $par ]
    echo "this is par2"
    echo "$par"
    fi
#       done
exitmessage=$(grep "volume created successfully" $par $par2)
error1=$(grep "error" $par $par2)
error2=$(grep "ERROR" $par $par2)
error3=$(grep "SEVERE" $par $par2)
error4=$(grep "severe" $par $par2)
error5=$(grep "Error" $par $par2)
error6=$(grep "Severe" $par $par2)
error7=$(grep "WARNING" $par $par2)
error8=$(grep "Warning" $par $par2)
error9=$(grep "warning" $par $par2)

echo $error1 
echo $error2
echo $error3
echo $error4
echo $error5
echo $error6
echo $error7
echo $error8
echo $error9
echo $exitmessage 
echo "finished"
done
2>&1 > darraghLogFile.log || exit 100

1 个答案:

答案 0 :(得分:0)

你真的不清楚你想要做什么,但也许你正在寻找类似的东西:

#!/bin/bash
source=/node/procTestData/test_directory
session1=$source/path_to.proc  
session2=$source/path_to.proc2   
rundir1=$source/000scratch/single.app/
rundir2=$source/000scratch/Test.app/

while read session rundir; do
    /d/sw/dugproc/20130927/_appCmdLine "$session"    
    cd $rundir
    ./run_harness.sh
done << EOF
$session1 $rundir1
$session2 $rundir2
EOF