shell函数删除传参的目录
时间: 2023-05-31 09:05:28 浏览: 92
下面是一个shell函数,可以删除传参的目录:
```
function delete_directory {
if [ $# -eq 0 ]; then
echo "Please provide a directory path as an argument."
return 1
fi
if [ ! -d "$1" ]; then
echo "The directory $1 does not exist."
return 1
fi
echo "Deleting directory $1"
rm -r "$1"
}
```
使用方法:
```
delete_directory /path/to/directory
```
如果要删除的目录不存在,则会输出错误消息并返回1。
如果要删除的目录存在,则会输出消息“Deleting directory /path/to/directory”,并使用rm -r命令删除目录及其所有内容。
相关问题
shell函数删除传参的目录,传参为多个目录以空格为分隔
符。
可以使用如下的shell函数来删除传参的目录:
```bash
function delete_directories() {
for dir in "$@"; do
if [ -d "$dir" ]; then
rm -rf "$dir"
echo "Deleted directory $dir"
else
echo "Directory $dir does not exist"
fi
done
}
```
这个函数使用了一个for循环来遍历传递的所有目录参数。如果目录存在,就使用`rm -rf`命令来递归地删除目录及其内容。如果目录不存在,则输出一条消息。函数使用`"$@"`来引用传递的所有参数,这些参数被当作一个数组来处理。在函数内部,可以使用`$dir`来访问当前遍历的目录参数。
阅读全文