![自动安装我的世界脚本](https://linux22.com/image/144852/%E8%87%AA%E5%8A%A8%E5%AE%89%E8%A3%85%E6%88%91%E7%9A%84%E4%B8%96%E7%95%8C%E8%84%9A%E6%9C%AC.png)
所以我正在编写这个脚本来自动安装我的世界,我开始想知道是否有更好的方法来做到这一点?
#!/bin/bash
sudo apt-get upgrade
sudo apt-get update
sudo apt-get autoclean
echo " Jobs Done!"
sudo add-apt-repository ppa:webupd8team/java
sudo apt update; sudo apt install oracle-java8-installer
sudo apt install oracle-java8-set-default
sudo apt-get install default-jre
sudo apt-get autoclean
sudo add-apt-repository ppa:flexiondotorg/minecraft
sudo apt-get install minecraft-installer
sudo apt-get autoclean
echo "This world is about to get crafty!"
cd .minecraft
chmod 777 launcher.jar
java -Xmx3G -Xms3G -jar launcher.jar
我问这个问题的原因是我想为我的朋友提供一种轻松安装然后打开 Minecraft 的方法,这些朋友不太懂技术,但至少可以运行一个脚本。对此事的想法很好奇。
答案1
您可以先添加存储库(确保它们是值得信赖的),然后更新、升级所有内容。
(注意:您应该先更新然后再升级,因为反之则不会发生任何事情。)
标志-y
应该防止apt
每次都询问。apt-install
允许指定多个包。
权限750
应该足够了。
这应该有效(脚本注释中有进一步的解释):
#!/bin/bash
#add repos
sudo add-apt-repository ppa:webupd8team/java -y
sudo add-apt-repository ppa:flexiondotorg/minecraft -y
#make sure everything is up-to-date
sudo apt update
sudo apt upgrade -y
#install the packages
sudo apt install -y oracle-java8-installer oracle-java8-set-default default-jre minecraft-installer
#cleanup (not necessarily required)
sudo apt-get autoclean
echo "This world is about to get crafty!"
#if the .minecraft folder is located under /home/username/.minecraft, you should use ~/.minecraft
#temporarily change directory
pushd ~/.minecraft
#set permissions
chmod 750 launcher.jar
#start application in background, in order to finish script, the '&' is responsible for that
java -Xmx3G -Xms3G -jar launcher.jar &
#undo temporary directory change
popd
答案2
您可以通过至少检查命令的返回代码(即确保一切正常)来改进这一点。您可以使用&&
或 特殊变量来完成此操作$?
。
另外,为什么不先添加所有存储库,然后apt update
只添加一次呢?这应该可以节省一些时间。
chmod 777
几乎总是一个坏主意,给予用户执行权就足够了。