我使用modifies list命令作为别名(在KSH中):
alias ltf='ls -lrt -d -1 $PWD/*'
所以命令ltf显示如下:
-rw-r--r-- 1 myuser mygroup 0 Apr 18 12:00 /usr/test.txt
-rw-r--r-- 1 myuser mygroup 0 Apr 18 12:00 /usr/test.log
现在我想使用通配符.但使用ltf *.log不起作用.
实现这一目标的最佳方法是什么?
更新:我想指定我的问题,因为到目前为止答案并没有解决我的问题:该命令ls -lrt -d -1 $PWD/*执行带有一些选项的列表命令并显示完整路径,这对我来说非常重要.
不幸的是,别名方法不允许使用通配符参数.我的目标是使这成为可能.可能这是将命令创建为函数的最佳方法.这在答案中提到,但它还没有工作(见评论).
有任何想法吗?
使用shell函数而不是别名:
function ltf {
if [ -z "$1" ]; then
ls -lrtd1 ${PWD}/*
else
ls -lrtd1 $1
fi
}
Run Code Online (Sandbox Code Playgroud)