表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
7/9

番外編 Linuxでシェルスクリプトの.shファイルをダブル クリックしてPythonの.pyファイルを起動する。

 Linux Mintで「端末」というアプリケーションで「pyt」まで入力してからキーボードのタブ キー(Tab)を押すと「python3」と補完してくれます。

 そして、半角空白を入力して間をけて、続けて、同様に、例えば、「端末」というアプリケーションで現在いるカレント ディレクトリに「OpenJTalk.py」以外に「O(オー)」から始まるファイルが無い場合は、「O(オー)」まで入力してからキーボードのタブ キー(Tab)を押すと「OpenJTalk.py」と補完してくれて、最終的に、「python3 OpenJTalk.py」と成ります。


 しかし、何度も「pyt」などを入力するのは少し大変です。特に、何度も利用して、普通に使用している分には正常動作すると分かっている、同じPythonの.pyファイルを実行する場合は、面倒です。


 「シェルスクリプト」と呼ばれる、拡張子が.shのファイルを新規作成して、内容に「端末」というアプリケーションへ入力していた「python3 ◯◯◯.py」などを書くと、Linux Mintでは.shファイルをダブル クリックして、「テキストエディタ」というアプリケーションで「表示」するか、「端末」というアプリケーションを起動して実行させるか、非表示の「端末」というアプリケーションで「実行」するか等を選択する確認ダイアログというサブ画面で「実行」をクリックするだけで、Pythonの.pyファイルを実行できます。

 キーボードのキーをいくつも打つ必要が有りません。

 ただし、「実行」をクリックした場合は、エラー メッセージなどを「端末」というアプリケーションでは確認できない事に留意してください。


 「シェルスクリプト」を実行する前に.shファイルを右クリックして「プロパティ」をクリックして選択し、「アクセス権」タブをクリックし、「実行: 」の「プログラムとして実行できる」をクリックしてチェック(✓)を入れる必要が有ります。


 さて、「シェルスクリプト」では、ファイルやフォルダの場所を、ルート(/)から始まる絶対パス指定か、「シェルスクリプト」を実行した時に「シェルスクリプト」を置いていたディレクトリからの相対パス指定で、指定して書く必要が有ります。



 【シェルスクリプトの例】


◯◯◯.sh

――――――――――――――――――――

#!/bin/bash


python3 ◇◇◇.py

――――――――――――――――――――

 ◯◯◯と◇◇◇は任意の名前です。


 ※◯◯◯.shを実行した時に◯◯◯.shを置いていたディレクトリに◇◇◇.pyも置いている場合のシェルスクリプトの例です。



 拡張子が.shのファイルであるシェルスクリプトの内容の最初の行には、複数存在する「シェル」のうち、bashという「シェル」の一種を指定する「#!/bin/bash」などの「シバン」または「シェバン」と呼ばれる物を書く必要が有ります。

 「シバン」、「シェバン」は、「シャープ バン」または「シェル バン」の略だそうです。

 バン(bang)という英単語はエクスクラメーション マーク(!)を意味する場合が有ります。

 2行目以降には、Linux Mintの「端末」というアプリケーションで入力していた物を、ルート(/)から始まる絶対パス指定か、「シェルスクリプト」を実行した時に「シェルスクリプト」を置いていたディレクトリからの相対パス指定に修正して、書きます。


 例えば、Linux Mintの「端末」というアプリケーションで、よく入力する「cd」は、bashという「シェル」と呼ばれる物の一種の、「コマンド」と呼ばれる物です。

 Linux MintなどのLinuxではデフォルトの「シェル」はbashです。

 bash以外にも、いくつかの種類の「シェル」が存在します。

 「シェル」が違うと書き方自体などが大きく変わる場合が有ります。



 ちなみに、bashなどの「シェル」は、例えば拡張子が.pyのPythonのファイルといった、拡張子が.sh以外のファイルの「シバン」、「シェバン」も解釈して処理してくれます。

 そのため、拡張子が.pyのPythonのファイルの最初の行に「#!/usr/bin/env python3」などの「シバン」、「シェバン」を書くと、.pyファイルをダブル クリックして、「テキストエディタ」というアプリケーションで「表示」するか、「端末」というアプリケーションを起動して実行させるか、非表示の「端末」というアプリケーションで「実行」するか等を選択する確認ダイアログというサブ画面で「実行」をクリックするだけで、Pythonの.pyファイルを実行できます。

 ただし、.pyファイルをダブル クリックする前に、.pyファイルを右クリックして「プロパティ」をクリックして選択し、「アクセス権」タブをクリックし、「実行: 」の「プログラムとして実行できる」をクリックしてチェック(✓)を入れる必要が有ります。


◯◯◯.py

――――――――――――――――――――

#!/usr/bin/env python3


import tkinter


root = tkinter.Tk()

root.mainloop()

――――――――――――――――――――

 ◯◯◯は任意の名前です。


 ※tkinterはPythonに標準で含まれているはずですが、無い場合は、ソフトウェアマネージャでPython3-tkをインストールする必要が有ります。



 WindowsでもPythonランチャーは.pyファイルの「シバン」、「シェバン」を解釈して処理してくれるそうなので、LinuxだけではなくWindowsでも.pyファイルに「シバン」、「シェバン」を書くのは有益のようです。



 Pythonを勉強して大分、経ってから上記を知り、全ての.pyファイルに「シバン」、「シェバン」を追加しようと思ったのですが、「遠い将来にPython4が出来たら、また書き直しかぁ」と考えて、やめました。

 ただ、「遠い将来にPython4が出来たら、Python3のコードの一部をPython4で動くように書き直す必要が有るかもしれないので、その際に、ついでに、「シバン」、「シェバン」も書き直せば良いのでは……?」とも思い、迷っております。

 ただし、Pythonの.pyファイルに「シバン」、「シェバン」が有ると、「端末」というアプリケーションでファイル指定だけで実行できます。


 「端末」というアプリケーションでの、「シバン」、「シェバン」が有るPythonの.pyファイルの実行例

――――――――――――――――――――

./◯◯◯.py

――――――――――――――――――――

 ◯◯◯は任意の名前です。



 ちなみに、Pythonの.pyファイルの文字コードがUTF-8以外の場合は、「シバン」、「シェバン」の次の行以降、2行目以降に、決められた形式で文字コードを書く必要が有るそうです。

 しかし、どのプログラミング言語でも、現在では、UTF-8という文字コードが主流、常識だと思います。

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

↑ページトップへ