首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用用户输入命名文件夹

问使用用户输入命名文件夹
EN

Unix & Linux用户
提问于 2021-06-25 08:49:06
回答 1查看 1K关注 0票数 0

我是Linux新手,我想根据用户输入的文件夹名创建一个新目录。如何通过再次请求用户的名称来在第一个目录中创建一个新目录?

代码:

代码语言:javascript
复制
#! /bin/bash
echo "Enter name of dir":
read folder1
mkdir -p $folder1
touch docu.dat
chmod 755 docu.dat

我试图查看使用命令ls创建的目录列表,但没有看到列表,我想知道为什么。我还想知道如何使用bash参数执行脚本文件。请帮我改正一下。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2021-06-25 09:06:24

如果您想向用户询问第二个名称,只需向用户询问第二个名称:

代码语言:javascript
复制
#! /bin/bash
echo "Enter name of dir":
read folder1
echo "Enter name of sub-dir":
read folder2
mkdir -p -- "$folder1/$folder2"
touch docu.dat
chmod 755 docu.dat

虽然我怀疑您希望在您刚刚创建的目录中创建docu.dat,但在这种情况下,您可能希望这样做:

代码语言:javascript
复制
#! /bin/bash
echo "Enter name of dir":
read folder1
echo "Enter name of sub-dir":
read folder2
mkdir -p -- "$folder1/$folder2"
touch -- "$folder1/$folder2"/docu.dat
chmod 755 -- "$folder1/$folder2"/docu.dat

但是,作为一般规则,尽量避免提示用户输入。这使得脚本很难自动化,很难重新运行,用户很容易输入错误的值等等。相反,以目录名作为参数:

代码语言:javascript
复制
#! /bin/bash
dirName="$1/$2";
mkdir -p -- "$dirName"
touch -- "$dirName"/docu.dat
chmod 755 -- "$dirName"/docu.dat

然后像这样运行脚本:

代码语言:javascript
复制
./script.sh "dir1" "dir2"

--在那里,以便脚本还可以处理以-开头的目录名。见“-”(双冲)是什么意思?。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/655771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档