JohnCの答えはすでに裏返しを説明しています。しかし、あなたも疑問に思っているのは>
プロンプトです。これは継続プロンプトであり、バックティックによってトリガーされるだけでなく、常にコマンドの入力が完了していないことをシェルが明確に認識したときにトリガーされます。最も簡単な例は\
、入力行の末尾に明示的な行継続を配置することです(長い入力の分割に役立ちます)。
$ echo \
> hallo
PS1
コマンドプロンプトの外観を制御するようにPS2
、継続プロンプトを変更するように設定することもできます。たとえば、
$ export PS2="(cont.) "
$ echo \
(cont.) hallo
継続が発生する多くの理由があります。単一のバックティックは不完全ですが、次のように入力することもできます
ls -l `which cp`
一行で(サイドノート:使用することをお勧めします$(
し、)
代わりに、括弧は、それが明らかに作るので、どこ単一バッククォートはそれがより困難見ることにする一方で、拡張開始と終了、どこ1の不足しているとネスト...。)。継続プロンプトのその他の考えられる理由:
- 行方不明
done
の後while
かfor
fi
後に行方不明if
esac
後に行方不明case
- サブシェルなどの閉じ括弧が欠落している
(cd $HOME; cat .bashrc)
- 配管後に不足しているコマンド
|
だけでなく、条件付き実行||
と&&
(ではない&
けれども、それは単にバックグラウンドで実行されているコマンドを作っているので)
- 閉じ引用符がない(
'
または"
)
不思議なこと}
に、変数展開後にブレースが欠落して${
いると継続プロンプトが表示されますが、スペースが挿入されているため失敗します。
$ echo ${
> PS2}
bash: ${
PS2}: bad substitution