【发布时间】:2020-04-30 16:03:28
【问题描述】:
我想在我的 shell 脚本中构建一个循环,在其中我以相反的顺序运行所有参数并在命令中使用它们。如何做到这一点?
我的具体代码是:
#!/bin/sh
for MODULE in "$@"
do
rmmod $MODULE
done
for MODULE in "$@"
do
insmod $MODULE
done
dmesg -c
但我希望第二个 for 循环中的“insmod”使用从 last 到 first 的参数来调用。
【问题讨论】:
-
您需要使用
#!/bin/sh,还是假设您将使用bash? -
最简单的方案是在遍历
"$@"的同时倒序构建数组,或者使用C风格的for循环,但/bin/sh不一定支持。跨度> -
如何查看我有什么可用的?如果我在要运行它的设备上执行
echo $SHELL,我会得到/bin/sh作为答案 -
如果
/bin/bash存在,您可以(并且应该)通过将shebang 行更改为#!/bin/bash在脚本中使用它。然后您就可以使用更多功能。 -
/bin/bash不存在,感谢澄清