我对 Linux 还很陌生。我刚刚发现 alias 命令非常有用,因为我经常需要翻阅日志文件
所以我需要定期打开文本文件,它们通常以...\somename\somename_yyyymmdd.log 格式存储
如何创建一个动态别名,可以将当前文件夹名称作为输入以及当前日期作为输入来创建类似的命令?less somename_20121024.log
谢谢
答案1
alias 命令用于为经常发出的命令创建快捷方式。最常用的 Linux Shellbash
不支持别名内的参数扩展,这使得它不太适合您的目的。您尝试执行的操作最好使用函数来完成。这个位于bash
:
lesslog() {
local dir=$1
local mydate=${2:-$(date +%Y%m%d)}
if [[ -f ${dir}/${dir}_${mydate}.log ]]; then
less ${dir}/${dir}_${mydate}.log
else
echo "Could not find log file: ${dir}/${dir}_${mydate}.log"
fi
}
此函数将在传递的目录中查找日志文件。如果您不传递第二个参数,它将默认为今天的日期。