簡體   English   中英

如何啟用歷史記錄來記錄此處文檔及其輸入?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM