我有一个脚本来处理文件,并且可以接受多个文件参数:
sh remove_engine file1 #single arg
sh remove_engine file1 file2 #multiple file arg
在脚本的顶部,我将它们与$@
一起收集,以便循环遍历它们。
问题在于我还将使用选项(以及getopts
)...
sh remove_engine -ri file1 file2
...然后$@
现在返回
-rvi file1 file2
,其余脚本将-ri
作为文件名。
在脚本顶部附近,我还有一个getopts
while getopts :rvi opt
do
case"$opt" in
v) verbose="true";;
i) interactive="true";;
r) recursive="true";;
[?]) echo "Usage..."
exit;;
esac
done
如何解析选项,然后将参数与选项分开?
答案 0 :(得分:3)
来自var estate =[];
$("#select-estate").change(function() {
var singleValues = $("#select-estate").val();
if (estate.includes(singleValues) == false) {
estate.push(singleValues);
$("span.filter-push-select").append('<label class="active">' + singleValues + '<i class="fa fa-times fa-lg" aria-hidden="true"></i></label>');
console.log(estate);
}
});
$(".filter-push-select").on('click', 'label', function() {
var item = $(this).text();
var iterator = estate.keys();
for (let key of iterator) {
console.log(key); // expected output: 0 1 2
}
function removeItem(estate, item) {
let i = estate.indexOf(item)
if (i > -1) {
estate.splice(i, 1);
}
}
removeItem(estate, item);
$(this).remove();
//estate.splice(index, 1);
console.log(estate);
});
:
遇到选项结尾时,
man bash
退出并显示一个 返回值大于零。getopts
设置为索引 第一个非选项参数,并且OPTIND
设置为name
。
因此完整的代码是:
?