Qiitaでコンソール(シェル)のコマンド実行を書くときとかのコードブロック


Qiitaでコンソールのコマンド実行というのは、例えばこういつやつのことです。

```none
brew install node
```

プロンプトだと分かるようにこう書いたりとかもしますね。

```none
$ brew install node
```

コードブロックは今までテキトーに`sh`とか`none`とかしてて、ちょっとハイライトが変でも気にしてなかったんですが、あまりにも見た目が酷いときとかもあったんで、ホントにめんどくさがりなのでホントにめんどくさいんですが、いい加減ちゃんと確認しとこうかと思いました。ああめんどくさい。もっと楽して暮らしたい。お金がいっぱいほしい。

## コンソール(シェル)のために指定するやつ

たぶんこの用途で指定する言語は主に3つデス。
そのまま見た目を載せておくのが一番わかりやすいかと思うので、そうすることにします。

- sh (bash, ksh) ・・・ シェルスクリプト
- console ・・・ 単発のコマンド、ワンライナー
- shell-session  ・・・ 出力も含めセッションをそのまま書きたいとき

と使い分けるのが綺麗なのかな。

てか、Qiitaの、というよりはハイライトに使われてるPygmentsライブラリのlexerの話っすね。
kobitoのプレビューとは見え方が違うのは、使ってるライブラリが別なのかな。

### sh

`sh`を指定します。
`bash`, `ksh` を指定しても同じです。

```sh
5t111111@ganryu $ brew install node
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/node-0.10.28.mavericks.bottle.tar.gz
######################################################################## 100.0%
==> Pouring node-0.10.28.mavericks.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> make install
==> /usr/local/bin/npm update npm -g
==> Summary
?  /usr/local/Cellar/node/0.10.28: 1547 files, 18M
5t111111@ganryu $ which node
/usr/local/bin/node
5t111111@ganryu $ node -v
v0.10.28
```

```sh
brew install node
```

```sh
$ brew install node
```

```sh
# tail -f /var/log/messages
```

> class pygments.lexers.shell.BashLexer
> Short names:	bash, sh, ksh
> Filenames:	*.sh, *.ksh, *.bash, *.ebuild, *.eclass, .bashrc, bashrc, .bash\*, bash\*
>MIME types:	application/x-sh, application/x-shellscript

http://pygments.org/docs/lexers

### console

`console`を指定します。

```console
5t111111@ganryu $ brew install node
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/node-0.10.28.mavericks.bottle.tar.gz
######################################################################## 100.0%
==> Pouring node-0.10.28.mavericks.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> make install
==> /usr/local/bin/npm update npm -g
==> Summary
?  /usr/local/Cellar/node/0.10.28: 1547 files, 18M
5t111111@ganryu $ which node
/usr/local/bin/node
5t111111@ganryu $ node -v
v0.10.28
```

```console
brew install node
```

```console
$ brew install node
```

```console
# tail -f /var/log/messages
```

> class pygments.lexers.shell.BashSessionLexer
> Short names:	console
> Filenames:	*.sh-session
> MIME types:	application/x-shell-session
> Lexer for simplistic shell sessions.

### shell-session

`shell-session`を指定します。

```shell-session
5t111111@ganryu $ brew install node
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/node-0.10.28.mavericks.bottle.tar.gz
######################################################################## 100.0%
==> Pouring node-0.10.28.mavericks.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> make install
==> /usr/local/bin/npm update npm -g
==> Summary
?  /usr/local/Cellar/node/0.10.28: 1547 files, 18M
5t111111@ganryu $ which node
/usr/local/bin/node
5t111111@ganryu $ node -v
v0.10.28
```

```shell-session
brew install node
```

```shell-session
$ brew install node
```

```shell-session
# tail -f /var/log/messages
```

> class pygments.lexers.shell.ShellSessionLexer
> Short names:	shell-session
> Filenames:	*.shell-session
> MIME types:	application/x-sh-session
> Lexer for shell sessions that works with different command prompts