firetiger443
firetiger443

Reputation: 107

Creating directories with a for loop in bash

So I would like to create x amount of Directories according to the count of a variable.

#!/bin/bash
countOfCaptureFiles=$(wc -l < allCaptures.txt)
echo $countOfCaptureFiles

start=1
end=countOfCaptureFiles
for((i=$start;i<=$end;i++))
do
mkdir "SnortAlert${i}"
done

In my current testing environment the value of countOfCaptureFiles is 3, so I was hoping to create 3 Directories named SnortAlert1 SnortAlert2 SnortAlert3.

I run the script like so: ./myscript.sh

However when I do this I get errors and no output and I believe it has something to do with assinging end=countOfCaptureFiles but I am not sure how to fix this, any help would be appreciated!

Upvotes: 3

Views: 8971

Answers (2)

jonilyn2730
jonilyn2730

Reputation: 475

You can use for in statement to simplify the code like this"

#!/bin/bash
var=$(cat allCaptures.txt)
for line in $var
do
   mkdir "SnowAlert${line}"
done

Upvotes: 2

thatseeyou
thatseeyou

Reputation: 2012

Your code is working. But you can minimize using external programs (like wc, cat) like the following.

#!/bin/bash
i=1
while read line;do
    mkdir "SnortAlert${i}"
    let i=i+1
done <allCaptures.txt

Upvotes: 5

Related Questions