電子書籍の厳選無料作品が豊富!

UNIXで、lsの結果をファイルに出力する際、
ls > aaa.txtのようにすると出来ますが、
実行したコマンド "ls -la > aaa.txt"
もファイルに出力させたいのですが、どうすれば出来ますか?
知ってる方教えて下さい!

A 回答 (5件)

UNIXの種類やバージョンによると思いますが、


script というコマンドが使えるかもしれません。

例えば
script bbb.log
とコマンド入力すると、
その後EOF(ターミナル設定によります)を入力するまでの
入出力がbbb.logに記録されます。
    • good
    • 0

リダイレクト先はファイルに残りませんが、コマンド部分だけでも一緒に残っていれば幾分でも足しになるというのであれば、次のようなシェルスクリプトを作って利用してはいかがでしょうか。



#!/bin/sh
echo ${1-}
${1-}

上記のシェルスクリプトのファイル名を仮に「do_cmd」とすると、
do_cmd ls -la >aaa.txt
とすることで、aaa.txtの1行目に「ls -la」が出力され、2行目以降に「ls -la」の実行結果が出力されます。尚、シェルスクリプトの第1行目のシェルの宣言はご使用中の環境に合わせて変更して下さい。
    • good
    • 0

#2です



試したが無理でした。
すみません
    • good
    • 0
この回答へのお礼

わざわざ試して頂いて、ありがとうございました。

今回はある2つのファイルの比較を行う際に、
実行したコマンドも結果として残したかったので、
何か方法があればなと思い質問してみました。
自分でも色々研究してみます。。

お礼日時:2004/10/26 15:03

こんにちは


シェルスクリプトにして、そのスクリプトを出力するように同じ方法でできないでしょうか?

つまり、test.sh > aaa.txt
test.sh には、ls -la を記述します
    • good
    • 0

他にも方法はあるともいますが、


 ・TeraTermなどを使用しているのであれば、リダイレクト(>)は使用せずに、TeraTermなどのログ出力を行うモードにしておき、コマンド実行でOKです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!