我正在为 proxmox 编写一个更新后脚本,因为每次更新时,对网络服务器的某些编辑都会被覆盖。它会删除登录后弹出的窗口并应用深色主题。该主题是由其他人编写的,我想提取他们的代码以保持最新状态。
目前的脚本如下:
#!/bin/bash
if [ -f PVEDiscordDark.sh ]; then
rm PVEDiscordDark.sh
fi
wget https://raw.githubusercontent.com/Weilbyte/PVEDiscordDark/master/PVEDiscordDark.sh
exec PVEDiscordDark.sh install
echo "Removing \"No Subscription\" pop-up"
sed -i.backup -z "s/res === null || res === undefined || \!res || res\n\t\t\t.data.status.toLowerCase() \!== 'active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
echo "Restarting pveproxy.service. This may take a minute."
systemctl restart pveproxy.service
现在,它将安装主题并停止在那里,我猜这是由于我正在调用的脚本。我甚至像这样测试了它:
foo.sh
#!/bin/bash
echo "foo"
foobar.sh
#!/bin/bash
source foo.sh
echo "bar"
输出:
foo
bar
我需要这个脚本运行 PVEDiscordDark.sh 并输出到终端,然后在完成后运行 sed 命令,最后重新启动 Web 服务器。重新启动 Web 服务器必须放在最后,因为它可能需要一分钟以上才能恢复。
我该怎么做才能阻止 PVEDiscordDark 在脚本完成后结束它?
答案1
您需要替换此行:
exec PVEDiscordDark.sh install
有了这个
./PVEDiscordDark.sh install
你不需要exec
,只需运行脚本