Ctrl + V
, Tab
。
前回まで
stdinもダメ。起動引数もダメ。
Ctrl + V
, Tab
端末のbashにてヒアドキュメント内でTab
を入力する方法。
以下まで入力する。
a="$(cat <<EOS
すると以下のようなプロンプトが出る。
>
そこに入力したいテキストを入れる。
> A
改行はEnterキーで入る。次の行を入力する待受になる。
>
ここでタブを入れる。
Ctrl + V
キー押すTab
キー押す
これでTabが入力されるはず。その後に入力したいテキストB
を入れてEnterキー押す。
> B
同じように以下のようにする。
Ctrl + V
キー押し、Tab
キー押すCtrl + V
キー押し、Tab
キー押すC
キー押し、Enter
キー押す
最後に以下をする。
EOS
を入力し、Enter
キー押す)"
を入力し、Enter
キー押す
これでヒアドキュメントの入力が完了した。以下で表示確認する。
echo -e "$a"
A B C
超絶に面倒くさい。
問題
Tab
キー一発で入力できない。いちいち1個入力するたびにCtrl+V
,Tab
せねばならないのが超絶に辛い- あと、前に入力した行を編集できない
- 複数行を編集できないの?
- あと、前に入力した行を編集できない
- コピペできない
- ヒアドキュメントに今回のやり方で入力した値をコピペできない
- プロンプト
>
がついてしまう - ペーストするとタブが消えてしまう(
\t
という文字にせねば)
- プロンプト
- ヒアドキュメントに今回のやり方で入力した値をコピペできない
所感
これは辛い。こんなので入力を強いられていたらストレス死する。
もう素直に一時ファイルをテキストエディタで作ったほうが早いんじゃ……。いやでもたかが\n
と\t
が混ざったせいでそんな面倒を強いられるのか? 何かないのか……。
そもそもその場でユーザに入力させるのではなく、プログラムなどで作成されたテキストなどでも受け付けるようにしたい。それをメモリ上で受け渡ししたいだけ。
共有メモリを作ってそこにアクセスできるような仕組みがあればいいのに。それをファイルとしてアクセスできればいいのだが。RAMディスクか。でも環境によって変わるし。
ダメだわからん!
対象環境
- Raspbierry pi 4 Model B
- Raspbian buster 10.0 2019-09-26 ※
- bash 5.0.3(1)-release
$ uname -a Linux raspberrypi 4.19.75-v7l+ #1270 SMP Tue Sep 24 18:51:41 BST 2019 armv7l GNU/Linux