だから私はMinecraftのインストールを自動化するためにこのスクリプトを書いていますが、これを行うより良い方法があるかどうか疑問に思い始めました。
#!/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
ユーザーに実行権限を付与するだけで十分なので、ほとんど常に悪い考えです。