ILD

bash reverse a list
作者:袁建鹏 邮箱:yuanjp@hust.edu.cn
发布时间:2018-7-12 站点:Inside Linux Development

有时需要反序一个变量的word,比如加载模块和卸载的顺序相反。Bash中可以用数组,但是POSIX不支持数组,此时可以将变量存入positional parameters,然后按编号逆序读取。

1
2
3
4
5
6
7
8
9
10
unload ()
{
    set -- $drivers
    i=$#
    while [ $i -gt 0 ]; do
        eval "driver=\${$i}"
        rmmod $driver
        i=$((i-1))
    done
}

set -- 如果不带参数,unset positional parameters,如果带参数,设置positional parameters。


参考

https://unix.stackexchange.com/questions/27382/how-do-i-reverse-a-for-loop


Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.