我正在使用optirun从bumblebee. 它旨在启动我的第二个 GPU,运行给定的命令,并在最后关闭第二个 GPU。
一个简化的例子:
optirun echo test | cat
但是,有一个错误optirun要求我现在运行后续命令以强制关闭 GPU。
我可以轻松地包装一些复杂的命令,例如echo test | cat在 shell 脚本中,以便我可以运行 optirun,然后在最后使用命令(我对错误的解决方法)进行跟踪吗?
引用和所有内容似乎是一个问题,阻止我使用简单的 shell 脚本执行此操作。
我相信您只是在$@, 脚本的参数列表之后。
简单的例子:
$ cat >cc.sh <<EOF
#!/bin/sh
head "\$@"
echo I AM DONE
EOF
$ chmod 755 cc.sh
Run Code Online (Sandbox Code Playgroud)
使用参数:
$ ./cc.sh cc.sh
#!/bin/sh
head "$@"
echo I AM DONE
I AM DONE
Run Code Online (Sandbox Code Playgroud)
适用于标准输入/标准输出
$ cat cc.sh | ./cc.sh | tail -n 2
echo I AM DONE
I AM DONE
Run Code Online (Sandbox Code Playgroud)
与混合物一起使用:
$ cat cc.sh | ./cc.sh -n 2 | tail -n 2
head "$@"
I AM DONE
Run Code Online (Sandbox Code Playgroud)
所以:
#!/bin/sh
optirun "$@"
rmmod <mod> [perhaps >/dev/null 2>&1 if you need to ignore errors from rmmod]
Run Code Online (Sandbox Code Playgroud)