tcshで「history」と入力すると、次のような履歴コマンドのリストが表示されます。
ubuntu:~> echo a
a
ubuntu:~> history
1 9:20 echo a
2 9:20 history
ただし、コマンドをファイル「commands.txt」に保存する場合
echo a
history
そして、このファイルのコンテンツをtcshにリダイレクトします
tcsh < commands.txt
私たちが見ることができるのはただ:
a
なぜこれが起こるのですか?そして、なぜシェルプロンプトが出力の一部でもないのですか?
ところで、それは実際にbashで動作します、あなたはただオンにする必要があります 歴史 このようなオプション
set -o history
echo a
history
回答:
回答№1は0まあこれは質問に対する完璧な答えではないかもしれません なぜ。ただし、少なくとも、スクリプトでhistoryコマンドを使用しないという情報を提供します。
に http://www.tldp.org/LDP/abs/html/special-chars.html 見つけた「履歴」を検索:
スクリプト内では、履歴メカニズムが無効になっていることに注意してください。
に http://tldp.org/LDP/abs/html/histcommands.html ページの最後にあります:
Unfortunately, the Bash history tools find no use in scripting.
#!/bin/bash
# history.sh
# A (vain) attempt to use the "history" command in a script.
history # No output.
var=$(history); echo "$var" # $var is empty.
# History commands disabled within a script.
bash$ ./history.sh (no output)
回答№2の場合は0
ザ 歴史 コマンドはtcshに組み込まれているため、通常のコマンドのように動作しません。
多くの合理的な方法で[ビルトイン]をまとめることはできません。
そして、その 合理的な 方法。また、スクリプトはコマンドプロンプトを出力しません。