xen*_*oid 0 bash alias bash-functions
我有这个setup文件:
function latest {
count=${1:-5} ;
echo "Just changed"
ls -lrtd * | tail -$count ;
}
Run Code Online (Sandbox Code Playgroud)
我称之为:
. setup
Run Code Online (Sandbox Code Playgroud)
然后我问 bash 是否latest定义了函数:
>type latest
latest is a function
latest ()
{
count=${1:-5};
echo "Just changed";
ls --color=auto -lrtd * | tail -$count
}
Run Code Online (Sandbox Code Playgroud)
Just changed是一个任意字符串,我用来确保我没有查看latest来自另一个文件的定义。
问题是:为什么 Bash 将添加--color=auto到ls命令中(因为输出是通过管道传输的,所以它没有用)。是的,在我的外壳ls上别名为ls --color=auto,如果我删除别名,这不会发生。但是我认为在函数中没有使用别名,无论如何这种替换发生在函数定义时?
| 归档时间: |
|
| 查看次数: |
450 次 |
| 最近记录: |