将命令别名为另一个命令

Jan*_*ung 1 bash

我正在尝试在 bash 中创建别名,例如:

别名 cat /home/file='cat /home/thisfile'

我不知道为什么这不起作用。我到处尝试在谷歌上找到答案,据我所知,这个网站会得到答案。-珍妮丝

Gil*_*il' 5

您只能将别名用于命令,而不能用于其参数。

如果你想/home/file被替换/home/thisfile,但前提是它是cat命令的第一个参数,你可以定义一个cat函数来测试它的参数并适当地调用底层命令:

cat () {
  if [ "$1" = "/home/file" ]; then shift; set "/home/thisfile" "$@"; fi
  command cat "$@"
}
Run Code Online (Sandbox Code Playgroud)

但我怀疑这就是你真正想要的,这将是一个奇怪的要求。丹尼尔贝克的象征性建议听起来很正确。既然你拒绝它,你应该解释更多你想要完成的事情。也许那时人们可以提供更好的建议。