”Linuxをインストールして、ソフトをダウンロードしたんですけど、どうやって実行すればいいですか?「○○.sh」ってファイルなんですけど。”
こういう質問、たまにありますよね。そこで、Linux初心者向けの記事として「.shファイルを実行する方法」をまとめます。
Windowsならダウンロードした「○○.exe」をダブルクリックするだけで実行できます。Linuxの場合、「Ubuntu Software」などのソフトウェア追加アプリ、あるいは「apt」や「yum」、「dnf」といったコマンドでダウンロードとインストールを一度に行うのが普通です。
でも、Linux向けのちょっとしたプログラムや、「apt」などでインストールできないソフトウェアのインストールプログラムが「○○.sh」といった名前で配布されていることもあります。こういった場合、ダウンロードした後はどうすればよいのでしょうか?
実行する前に確認しましょう
「○○.sh」は「シェルスクリプト」と呼ばれるものです。通常、「端末」を開いて実行します。ただし、実行前に確認しないといけないことがあります。ダウンロードしたシェルスクリプトは信頼できるものですか? 広く使われているオープンソースソフトウェアの公式ページからダウンロードしたものや購入したものなら、まず問題はないでしょう。どこかの掲示板やフォーラムからダウンロードしたものなら、実行するかどうかは慎重に判断しないといけません。とくに、rootユーザーとして実行する場合(後述)はシステムを破壊する可能性もあります。よく分からないなら、実行しないほうがいいでしょう。
「端末」を開いて実行する
では、メニューから「端末」を開きましょう。UbuntuやFedoraなら、画面左上のアイコンもしくは「アクティビティ」をクリックして、「term」を検索するのが簡単です。メインメニューに検索の機能が無い環境なら、メニュー内のどこかにあるはずです。
端末を開くと、「$ 」で終わるプロンプトが表示されますね。ブラウザでダウンロードしたなら、「ダウンロード」フォルダにあるかもしれませんね。あるいは、既にアプリでどこか別の場所に展開してあるかもしれません。いずれにせよ、目的の「○○.sh」があるフォルダに「cd」コマンドで移動しましょう。「ダウンロード」フォルダに移動するなら、「cd ダウンロード」ですね。
移動したら、以下のいずれかで実行します。ここでは、例として「script-name.sh」を実行することにします。
方法1: スクリプトに実行権限をつけてから実行する
chmod +x script-name.sh
./script-name.sh
方法2: shコマンドで実行する
sh script-name.sh
方法3: bashコマンドで実行する
bash script-name.sh
ほとんどの場合、どれでも同じように実行されます。まれに、方法2では正常に実行できず、方法3で行う必要がある場合もあります。
rootユーザーとして実行する
アプリケーションのインストールスクリプトなどの場合、上記の方法ではエラーがでてしまうことがあるでしょう。これは、システムの内部の変更にroot権限が必要だからです。こういった場合、以下のように実行します。
sudo bash script-name.sh
UbuntuやLinux Mintでは、デフォルトでsudoが使えるので問題なく実行できるでしょう。FedoraやCentOSでsudoが使えない場合、「su」コマンドでrootシェルに入って実行することもできますが、以下のページを参考にsudoを設定することをおすすめします。
コメント