【发布时间】:2012-02-12 06:32:12
【问题描述】:
下面的脚本给出了这个错误:
rm: illegal option -- 4
rm: illegal option -- 5
rm: illegal option -- 4
rm: illegal option -- 3
rm: illegal option -- 2
脚本:
#!/bin/bash
keep_no=$1+1
cd "/mydirec/"
rm -rf `ls | sort -nr | tail +$keep_no`
我希望脚本接受一个参数(要保留的 direc 数量)然后删除所有目录(包括它们包含的文件),除了(在脚本中传递的数字 - 按数字 direc 名称降序排列) .
即如果 /mydirec/ 包含这些 direc 名称:
53
92
8
152
77
脚本被称为:bash del.sh 2
然后 /mydirec/ 应该包含这些 direc(因为它会删除那些不是按 desc 顺序排在前 2 位的目录):
152
92
有人可以帮忙看看语法吗?
【问题讨论】:
标签: linux bash shell unix scripting