実行しようとしているコマンドを変更する方法はありますか? 出力をファイルにリダイレクトするだけでなく、端末に出力したいと思います。 ls > file.txt | cat
がジョブを実行していることがわかりましたので、実行しようとしているコマンドに> file.txt | cat
を追加します。
ファイルにリダイレクトして端末にプリントするより良い方法はありますか?私はロガーを作ろうとしています。zsh preexecコマンドの変更
6
A
答えて
0
はhttp://git.grml.org/?p=grml-etc-core.git;a=blob_plain;f=etc/zsh/zshrc;hb=HEAD
abk=(
'...' '../..'
'....' '../../..'
'BG' '& exit'
'C' '| wc -l'
'G' '|& grep '${grep_options:+"${grep_options[*]}"}
'H' '| head'
'Hl' ' --help |& less -r' #d (Display help in pager)
'L' '| less'
'LL' '|& less -r'
'M' '| most'
'N' '&>/dev/null' #d (No Output)
'R' '| tr A-z N-za-m' #d (ROT13)
'SL' '| sort | less'
'S' '| sort -u'
'T' '| tail'
'V' '|& vim -'
'co' './configure && make && sudo make install'
'fc' '> file.txt | cat'
)
zleiab() {
emulate -L zsh
setopt extendedglob
local MATCH
if ((NOABBREVIATION > 0)) ; then
LBUFFER="${LBUFFER},."
return 0
fi
matched_chars='[.-|_a-zA-Z0-9]#'
LBUFFER=${LBUFFER%%(#m)[.-|_a-zA-Z0-9]#}
LBUFFER+=${abk[$MATCH]:-$MATCH}
}
zle -N zleiab && bindkey ",." zleiab
また、私はリストに'fc' '> file.txt | cat'
を追加したことがわかり、私が一番好きな1、私はここで見つけるこのブロックそれを行うには、いくつかの方法があります、これは中に何abk
コマンドの後にfc
と入力してからを押したとします。(コンマとピリオド)矢継ぎ早とzshの中には、あなたが実行されるコマンドを変更する行を実行するときに実行されるアクションを変更することができます> file.txt | cat
5
ためfc
に置き換えられます。これは、Enterキーにバインドする関数を定義することによって実行できます。
まず、 '> file.txt |'を追加できる関数を定義します。どのコマンドでも終了する「cat」は次のようになります。次の部分は、実際にデフォルトのEnterキーの動作を新しい機能に置き換えることです。置き換えられるデフォルトの動作はaccept-line関数です。zle documentationを見ると、accept-lineは^ Jと^ Mに束縛されています。
bindkey '^J' log_and_accept_widget
bindkey '^M' log_and_accept_widget
は今、あなたは次のようになります。以前の動作を置き換え、
zle -N log_and_accept_widget log_and_accept
は、その後、あなたがそれをバインドすることができます。
は、あなたが最初のウィジェットにそれを有効にする必要があり、それらの文字にこの機能をバインドするにはそのコマンドを1つのコマンドごとに展開します。すべてのCDには、LSは、vimのなどなどそのように私はあなたが実際にこのオン・オフのカップルより多くの機能を定義することをお勧めします:function turn_on_logging {
bindkey '^J' log_and_accept_widget
bindkey '^M' log_and_accept_widget
}
function turn_off_logging {
bindkey '^J' accept-line
bindkey '^M' accept-line
}
zle -N turn_on_logging_widget turn_on_logging
zle -N turn_off_logging_widget turn_off_logging
bindkey '^P' turn_on_logging_widget
bindkey '^O' turn_off_logging_widget
私はあなたがこれには注意すべきだと思います。それを少しテストした後、私はすぐにそれを嫌うようになった。
関連する問題
- 1. zsh変更プロンプト入力カラー
- 2. フルパスのzshテーマ+ gitの変更を表示
- 3. zsh + Preztoでディレクトリの色を変更する
- 4. 名前変更コマンドのアンダースコア
- 5. zshと動的変数
- 6. zshは変数に格納されたコマンドを実行しますか?
- 7. zsh関数内でのコマンド出力のキャプチャ
- 8. Javaは、bashの上で動作するコマンドzshの
- 9. zshの:戻って取得する方法は、コマンド
- 10. Zshのプロンプトのカスタマイズ
- 11. ZSHで出力コマンドをキャプチャしてテストする
- 12. zsh:コマンドが見つかりません:apt-get
- 13. zsh:1:コマンドが見つかりません:rake
- 14. コマンドが見つかりません - Oh-My-Zsh
- 15. ZSH:コマンドが見つかりませんでした:レール
- 16. サイズ変更コマンドの画像形状が変更されます
- 17. bash:コマンド実行時のタブタイトルの変更
- 18. DOSコマンドの名前を変更する
- 19. は、旧式のzsh公式サイトのzshガイドですか?
- 20. 既存の補完をzshの他のコマンドに "コピー"する方法
- 21. 変更後に実行するコマンド
- 22. SilverlightでSelectedItemが変更され、コマンドが
- 23. zshの:コマンドが見つかりません:Djangoの管理者をDjangoプロジェクトに
- 24. zshの補完差
- 25. sourceコマンドは、シェルスクリプトを使用してzsh環境に変数をエクスポートしませんでした
- 26. ZSHスクリプトとプロンプトのプロファイリング?
- 27. GitログインZSH端末
- 28. パラメータ付きのZSHエイリアス
- 29. nshをzshにインストールした後にコマンドが見つかりません
- 30. ZSHディレクトリの拡張(「..」「../」内に)
teeはここで使用するコマンドです。> file |猫はかなり混乱しています –