【今日のQ&A】ターミナルでコピペ【Linux】

こんにちは、@codeship_techです。

ターミナルに複数業のコピペをしたいときってありますよね。

そんなとき皆さんはどうしてますか?

ターミナルコマンドの実行の指示がサイトにあったのでコピー&ペーストをして実行したのですが、うまく動作していません。
どうしてでしょうか?

1行ずつコピー&ペーストして実行してください。
“$”はコマンドには含まれていません。

ターミナルの基礎

ターミナルにおいてコマンドは以下のように記述します。

$ 「コマンド」 「-オプション」 「引数(ファイル名・フォルダ名など)」

先頭の $は(Windowsでは` >` )、「ここから入力を開始できる」という意味の記号であり、コマンドの一部ではありません

例えば以下は、Ruby on Railsで最小限のアプリを作ってサーバーを立ち上げるためのコマンド群です。

$ rails new new_app 
$ cd new_app
$ bundle install
$ rails db:create
$ rails generate scaffold member name:string message:text
$ rails server

多くの解説記事では、$をつけて「これはターミナルコマンドですよ」ということを暗に示して、その先の記述 を実行してもらおうとしているのですが、これを複数行そのままコピー&ペースとしてしまうと、コマンドとして無効な$まで含まれてしまいます。

おそらく -bash: $: command not foundとだけ出て何も処理されないでしょう。
よって上記のコマンドも、railsから先を実行するようにしてください。

意図的な改行

入力するコマンドが長く見づらくなってしまったときのために、ターミナルでは改行も用意されています。

$ echo "fugafuga" "hogehoge" "1234"

\で改行できます。

$ echo  \ 
"fugafuga" \
"hogehoge" \
"1234"

したがって、もしコマンド案内の中に$が含まれておらず、\が含まれていたら、複数行をまとめてコピー&ペーストしてください。