#!/bin/bash
echo "Iveskite teksto faila is kurio norite paimti pirma eilute"
read failas
echo "Nurodykite kataloga kuriame noresite sukurti naujus katalogus"
read direktorija
mkdir -p $direktorija
head -n1 "$failas" | while read pavadinimas
do
mkdir $direktorija/$pavadinimas
done
我的$ faileas是:
pirmas antras trecias ketvirtas penktas sestas
eilutes i kurias mano scriptas nereguoja
因此,问题是MKDIR $direktorija/$pavadinimas
不起作用。它仅在$ direktorija/$ pavadinimas中创建第一个文件夹,所有其他文件夹直接转到$ direktorija,而不是去$ direktorija/$ pavadinimas
我想做的是创建:
$direktorija/pirmas
$direktorija/antras
$direktorija/trecias
$direktorija/ketvirtas
使用 read
命令将文件的第一行读取到数组中,将行视为空间分离名称的列表。然后,在数组上迭代以在$direktorija
下创建每个目录。
echo "Iveskite teksto faila is kurio norite paimti pirma eilute"
read failas
echo "Nurodykite kataloga kuriame noresite sukurti naujus katalogus"
read direktorija
mkdir "$direktorija"
# Read line into an array
read -a pavadinimai < "$failas"
for pavadinimas in "${pavadinimai[@]}"; do
mkdir "$direktorija/$pavadinimas"
done