#!/bin/bash trash_dir="$HOME/.trash" # 检查回收站目录是否存在,如果不存在则创建它 if [ ! -d "$trash_dir" ]; then mkdir "$trash_dir" fi # 处理要删除的文件 if [ $# -gt 5]; then echo '文件不能超过五个' exit 1 else for file in "$@"; do # 在回收站中移动文件 mv "$file" "$trash_dir" echo "文件 $file 已移动到回收站" done fi优化
时间: 2024-04-19 15:27:50 浏览: 14
#!/bin/bash
trash_dir="$HOME/.trash"
# 检查回收站目录是否存在,如果不存在则创建它
if [ ! -d "$trash_dir" ]; then
mkdir "$trash_dir"
fi
# 处理要删除的文件
if [ $# -gt 5 ]; then
echo '文件不能超过五个'
exit 1
else
for file in "$@"; do
# 在回收站中移动文件
mv "$file" "$trash_dir"
echo "文件 $file 已移动到回收站"
done
fi
# 优化建议:
# 可以添加更多的错误处理,例如检查文件是否存在,移动文件时检查是否成功等。
# 可以添加选项来指定回收站目录的路径,而不是固定为$HOME/.trash。
# 可以为脚本添加更多功能,例如恢复文件、清空回收站等。
# 可以添加日志记录功能,记录每个文件被删除的时间和操作者等信息。
相关问题
#!/bin/bash export LD_LIBRARY_PATH=/opt/FusionReplay-V12.6.7/lib:$LD_LIBRARY_PATH ./AppRun
以下是一个示例的bash脚本:
```bash
#!/bin/bash
export LD_LIBRARY_PATH=/opt/FusionReplay-V12.6.7/lib:$LD_LIBRARY_PATH
./AppRun
```
这个脚本首先设置了LD_LIBRARY_PATH环境变量,将/opt/FusionReplay-V12.6.7/lib目录添加到LD_LIBRARY_PATH中。然后,它执行了名为AppRun的可执行文件。
#!/bin/sh #!/bin/bash #!/bin/ksh 用哪个比较好
在选择使用哪个shell时,需要考虑以下几个因素:
1. 兼容性:`#!/bin/sh`是最通用的shell,几乎所有的Unix/Linux系统都有sh。而`#!/bin/bash`和`#!/bin/ksh`则需要在系统中安装bash或ksh才能使用。如果需要编写可移植的脚本,建议使用`#!/bin/sh`。
2. 功能:bash和ksh都比sh功能更强大,支持更多的特性和语法。如果需要使用更高级的特性,建议使用bash或ksh。
3. 性能:ksh比bash和sh更快,但差别不是很大。如果需要执行大量的脚本或需要更高的性能,建议使用ksh。
综上所述,选择使用哪个shell取决于你的具体需求。如果需要编写可移植的脚本,建议使用`#!/bin/sh`;如果需要使用更高级的特性,建议使用bash或ksh;如果需要更高的性能,建议使用ksh。