#!/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


我的$ failas是:

pirmas antras trecias ketvirtas penktas sestaseilutes 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

关于linux - mkdir $ variable/$ variable2不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30082944/

10-16 20:18