[英]How do I enable history to record a here-document and its input?
當我使用命令行時,可以使用CP或向上箭頭回顧歷史記錄。 但是,這在嘗試撤回此處文檔的輸入時不起作用。
# cat <<!
> a
> b
> c
> !
a
b
c
# cat <<! # C-p to get here, expected to see ! as last input. C-c to break out
# history 2
2053 cat <<!
2054 history 2
我正在使用rxvt。
PS當在emacs
使用shell
時,此功能可以正常使用
我也有同樣的問題。 Bash 3.2.49(1)-發布
psql <<EOF
SELECT * FROM blah;
EOF
我的歷史只保留第一行。 我已經設置了cmdhist (和lithist ),它們可以用於其他多行命令,但不適用於heredocs。 悲慘。
解決方法是:
echo "
SELECT *
FROM blah
" | psql
shopt -s cmdhist
cat <<!
a
b
c
!
history | tail ...
8580 cat <<!
a
b
c
!
如果啟用了cmdhist shell選項,則該命令將使Shell嘗試將多行命令的每一行保存在同一歷史記錄條目中,並在必要時添加分號以保留語法正確性。
lithist shell選項使Shell用嵌入式換行符(而不是分號)保存命令。
從男子重擊
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.