shell
パッケージ・マネージャーが導入できたと思うので、まずはcurl
をインストールしてみてください。
# windows
scoop install curl
# mac
brew install curl
# linux(ubuntu)
sudo apt install curl
そして、terminalで以下のコマンドを実行してください。
curl https://bsky.social/xrpc/_health
結果は、以下の通り。bluesky(bsky.social)のpdsのversionが返ってくるはずです。
output
{"version":"b2ef3865bc143bfe4eef4a46dbd6a44053fa270d"}
なお、curl
がうまく動作しない場合、インストールされたbinaryにpath(パス)が通っていない事が考えられます。
これも主にwindowsで発生しやすいと思われます。
ここで、pathについて少し解説します。
path
terminalを起動すると、そこではshellと呼ばれるプログラムが待機されています。
ユーザーはこのshellを通してコマンドを実行することになります。
shellにも色々なshellがあります。
例えば、windowsにはmicrosoftのcmd
, pwsh
というshellがあります。
unix(mac), linux(ubuntu)の場合はbash
, zsh
などがあります。
shellはコマンドを実行する際、PATH
に追加されているディレクトリを省略することができます。
例えば、curl
が/usr/bin/curl
にインストールされたとしましょう。この場合は、shellは以下のコマンドを実行しなければなりません。
/usr/bin/curl --help
しかし、PATH
に/usr/bin
が追加されている場合、ディレクトリの記述を省略することができます。
curl --help
プログラム本体(binary)がどこにあるのか探す場合は、以下のようなコマンドを使います。
which curl
ただし、pathが通っていないと使えません。
pathを通すには、環境変数に当該ディレクトリを記述します。
PATH=$PATH:/usr/bin
なお、ディレクトリ(directory)はdir
やフォルダ
と呼ばれることがあります。
記法の"$"
次に、shellの記述方式に関する注意点を書きます。
which curl
$ which curl
これらは同じ意味を持ちます。
もし文章でshellの実行を説明する場合、先頭に$
を記述する慣習があります。
この$
は「shellで実行します」という意味です。
例えば、コマンドの実行結果と一緒に載せたい場合、下記のようになります。
$ which curl
/usr/bin/curl
このようにコマンドと実行結果を一緒に載せたい場合がよくあり、もし$
がないと、どちらがコマンドで、どちらが実行結果かが分かりづらくなるからです。
本書では、コピーの弊害などを考慮して、$
をなるべく省略しています。
しかし、本来であれば、全てのコードレイアウトにshellで実行する場合は$
を記述すべきと考えられています。
shebang
次に、shell script(シェル・スクリプト)やshebang(シバン)について解説します。
この辺はshellによって違いがありますが、bash
を前提に話をします。
テキストファイルに以下を記述して、実行権限を与えて実行してください。
test.sh
#!/bin/bash
curl https://bsky.social/xrpc/_health
実行権限の付与、及び実行は以下のコマンドです。
chmod +x test.sh
./test.sh
するとbsky.socialのversionが出力されます。
{"version":"b2ef3865bc143bfe4eef4a46dbd6a44053fa270d"}
テキストファイルの最初の行#!/bin/bash
がシバンと呼ばれるものです。
ここで、テキストファイルをどのプログラム言語で実行するのかが指定されます。
次はプログラム言語の簡単な解説を行います。