2012-02-06 12 views
1

我々はtcshの中に「歴史」と入力し、私たちはこのように、歴史のコマンドの一覧を見ることができます:コマンドがファイルから来たときに 'history'がtcshに何も出力しないのはなぜですか?

ubuntu:~> echo a 
a 
ubuntu:~> history 
    1 9:20 echo a 
    2 9:20 history 

をしかし、我々はファイル「commands.txt」

echo a 
history 
のコマンドで保存した場合

そして、我々は、我々が見ることができる何

tcsh < commands.txt 

によってtcshのには、このファイルの内容をリダイレクトするだけです:

a 

どうしてですか?なぜシェルプロンプトも出力の一部ではないのですか?それは実際にはbashのために働く

はところで、あなただけのも、この

set -o history 
echo a 
history 

答えて

0

質問なぜに、このかもしれない完璧な答えのような歴史オプションをオンにする必要があります。少なくとも、スクリプトで履歴コマンドを使用しないいくつかの情報を提供します。 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) 
+0

私はそれが実際にbashのために働くと思う、私の編集を参照してください。 – ablmf

0

歴史コマンドは、組み込みのように通常のコマンドのように動作しませんtcshのです。暴言「有害と考えられCSHプログラミング」ごとに、部2aは、あなたは多くの合理的な方法で一緒に[組み込み関数]を置くことができない

言います。

そして私は、そのさえ合理方法を確認していません。スクリプトはコマンドプロンプトを表示しません。

関連する問題