linux - mkdir $variable/$variable2 不起作用

标签 linux bash scripting

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

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

相关文章:

c# - 托管 .net 的 C++ 程序将对象从 C++ 公开到 C#

linux - VirtualBox Ubuntu 安装错误 : upgrade BIOS or use force_addr=0zaddr

linux raw socket - 接收自定义数据包

xml - 在 xml 字符串上查找特定标签

linux - 使用 Linux/Bash 对空格分隔的数字进行排序

python - 为什么我不能用我的 python 脚本打印到终端?

linux - 如何简化 bash 中的比较?

linux - 使用 'sed' 或其他类似命令捕获一组,然后仅输出该数据

linux - crontab 不执行复杂的 bash 脚本

linux - 如何在 bash 脚本中获取 cat 输出路径作为变量