CommandLine Interface

コマンドラインツールなど

シェルソフトウェアやシェルスクリプトについてもこのセクションで扱う。
ターミナルソフトウェアについてはSoftware > ターミナルを見よ。

リファレンス

シバン

  • 英語表記 … shebang, shbang
  • 日本語 … シェバンとも

UNIX系OSで、実行スクリプトの先頭に書かれる #! で始まる行のこと。
ここにはふつう、インタプリタの絶対パスを書く。

あるいは、 env コマンドを用いた #!/usr/bin/env bash のような表記もよく用いられる。

参考:

制約

envコマンドは普通、複数引数を取ることができない。
例えば、Ubuntu v18で #!/usr/bin/env awk -f のようにすると、下のようなエラーが出る:

$ cat foo.txt | test.awk
/usr/bin/env: `awk -f': そのようなファイルやディレクトリはありません`

そのため、引数を渡したくなったら、 #!/path/to/interpreter ARGS の形にすることになりそう。

NOTE:

  • BSD系OSだと複数引数取れるっぽい

参考:

direnv

https://github.com/direnv/direnv

Documentation:

  • Installation
    • macOSはHomebrewを使える
    • Ubuntuはaptかsnapで入れられる
  • Setup
    • Bash: eval "$(direnv hook bash)" をbashrcに書く
    • Zsh: eval "$(direnv hook zsh)" をzshrcに書く

ロギング

script

参考:

How-to

ターミナルでEOFを入力する方法

  • Unix系OS: Ctrl-D
  • Windows: Ctrl-Z

参考:

用語

TTY

TTY(テレタイプ端末)とは - IT用語辞典 e-Wordsより:

利用者が入力した文字を別の機器に送信したり、別の機器から受信した文字情報を利用者に提示したりする機能を持った端末やソフトウェアのこと

元々はteletypewriterの略。
Linuxだと tty コマンドで標準入出力デバイスの名前を表示できる。

Child Pages