编写shell脚本,利用for循环将当前目录的.c文件复制到/home/test下
时间: 2023-11-22 09:56:53 浏览: 243
可以使用以下的shell脚本实现:
```bash
#!/bin/bash
# 获取当前目录下所有的.c文件列表
c_files=$(ls *.c)
# 遍历.c文件列表,逐个复制到/home/test下
for file in $c_files
do
cp $file /home/test
done
```
使用方法:
1. 打开终端,进入需要复制.c文件的目录
2. 创建一个新的脚本文件,例如`copy_c_files.sh`
3. 将以上的shell脚本内容复制到`copy_c_files.sh`文件中
4. 给`copy_c_files.sh`文件添加可执行权限,命令为`chmod +x copy_c_files.sh`
5. 运行`copy_c_files.sh`文件,命令为`./copy_c_files.sh`
相关问题
进入文件夹/home/shell,编写一个Shell 脚本5.sh,利用循环把当前目录下的所有*2文件复制到指定目录/home/test中,该目录如果不存在要创建
要在 `/home/shell` 目录下创建一个名为 `5.sh` 的 Shell 脚本,以便循环遍历当前目录下的所有以 "*2" 结尾的文件并将它们复制到 `/home/test` 目录(若不存在则创建),可以使用以下内容作为脚本:
```bash
#!/bin/bash
# 指定源目录和目标目录
src_dir="/home/shell"
dest_dir="/home/test"
# 检查目标目录是否存在,不存在则创建
if [ ! -d "$dest_dir" ]; then
mkdir -p "$dest_dir"
if [ $? -eq 0 ]; then
echo "目录 '$dest_dir' 已经创建."
else
echo "无法创建目录 '$dest_dir'."
exit 1
fi
fi
# 遍历源目录中的所有 *2 结尾的文件
for file in "$src_dir"/*2; do
# 检查文件存在
if [ -e "$file" ]; then
# 使用 cp 命令复制文件到目标目录
cp "$file" "$dest_dir"
echo "已复制文件: ${file} 到 $dest_dir."
else
echo "文件 '$file' 不存在."
fi
done
# 如果整个过程都成功,脚本结束
exit 0
```
要运行这个脚本,需要给它执行权限:
```sh
chmod +x 5.sh
```
然后在 `/home/shell` 中执行:
```sh
./5.sh
```
阅读全文