我想在zsh中添加一个全局的aliash,它看起来像这样:
alias -g t='> tmp-$(date +%Y%m%d-%h%m%s).txt'
它应该做的是在当前目录中创建一个新的带时间戳的临时文件,并将输出重定向到该文件。但是,在获取zsh时,将对文件名进行评估,而不是调用别名。
我想我需要的是某种懒惰的评价。有没有办法实现这个目标?
答案 0 :(得分:2)
好的,我想出了办法。比我想要的更多参与:
function redirect-to-tmp() {
TMPFILE="./tmp-$(date +%y%m%d-%H%M%S)"
cat >>! $TMPFILE
echo "Redirected to $TMPFILE"
}
function redirect-to-tee() {
TMPFILE="./tmp-$(date +%y%m%d-%H%M%S)"
tee -a $TMPFILE
echo "Redirected to $TMPFILE"
}
alias -g t='| redirect-to-tmp'
alias -g T='| redirect-to-tee'
如果其他人有更好的答案,请告诉我。