编写 Shell 程序,接收用户输入的目录名,在当前目录下创建一个子目录。在当 前目录下批量创建 6 个以数字序号为文件名的 txt 类型文件,即:1.txt、…、6.txt。 将 1.txt 复制到新创建的子目录下,并改名为自己姓名全拼命名的文件
时间: 2024-04-07 19:30:14 浏览: 157
以下是一个简单的Shell程序,实现了你描述的功能:
```shell
#!/bin/bash
# 获取用户输入的目录名
read -p "请输入目录名: " dirname
# 在当前目录下创建子目录
mkdir "$dirname"
# 批量创建6个以数字序号为文件名的txt文件
for ((i=1; i<=6; i++))
do
touch "${i}.txt"
done
# 将1.txt复制到新创建的子目录下,并改名为自己姓名全拼命名的文件
cp "1.txt" "${dirname}/your_full_name.txt"
```
将以上代码保存到一个.sh文件中,然后在终端中运行该脚本。按照提示输入目录名,即可完成相应操作。请将"your_full_name"替换为你的姓名全拼,确保文件名的正确性。
相关问题
在Linux系统中,如何编写Shell脚本以批量创建用户,并为其指定用户组和家目录?
为了有效地管理Linux系统中的用户账户,批量创建用户是一个常见的需求。《京峰教育Linux基础与进阶实战指南》中涵盖了Linux用户管理和Shell脚本编写的知识,提供了关于Linux命令行和脚本自动化管理的重要信息,这将直接帮助你解决当前的问题。
参考资源链接:[京峰教育Linux基础与进阶实战指南](https://wenku.csdn.net/doc/15hoicuvjh?spm=1055.2569.3001.10343)
首先,你需要了解在Linux中用户和用户组的创建以及管理可以使用useradd命令来实现。批量创建用户的脚本通常涉及循环结构来处理用户信息的集合,并使用命令行工具来执行用户创建。
以下是一个简单的示例脚本,该脚本会根据提供的用户名列表来创建用户,并将他们分配到指定的用户组,同时为每个用户指定家目录路径:
```bash
#!/bin/bash
# 用户名和用户组的列表
user_list=(
参考资源链接:[京峰教育Linux基础与进阶实战指南](https://wenku.csdn.net/doc/15hoicuvjh?spm=1055.2569.3001.10343)
创建一个shell脚本输出当前的用户名、主机名和用户主目录:
创建一个简单的shell脚本来获取当前的用户名、主机名以及用户主目录,你可以参考下面的代码:
```bash
#!/bin/bash
# 获取当前用户名
username=$(whoami)
# 获取主机名
hostname=$(hostname)
# 获取用户主目录
homedir="$HOME"
# 输出这些信息
echo "Username: $username"
echo "Hostname: $hostname"
echo "Home Directory: $homedir"
# 保存到一个文件中,这里假设你想保存到当前目录下的script_output.txt
echo "$username,$hostname,$homedir" >> script_output.txt
# 显示脚本完成的信息
echo "Script execution completed."
# 提示用户是否需要查看生成的文本文件
read -p "Do you want to view the output file? (y/n): " response
if [ "$response" == "y" ]; then
cat script_output.txt
fi
```
这个脚本会提示用户确认是否查看输出文件。如果选择了查看,它会打开该文件供用户查阅。如果没有选择,则脚本会直接继续执行。
运行这个脚本前,请确保保存到一个有执行权限的位置,并赋予执行权限(`chmod +x script_name.sh`),然后通过`./script_name.sh`来运行。
阅读全文