鱼:别名中的空格

Ben*_*ijl 4 shell alias fish

我正在尝试为目录中的可执行文件添加别名,其中包含空格。例如:

alias myfile="/home/ben/test case/myfile"
Run Code Online (Sandbox Code Playgroud)

现在,这并没有按照我想要的方式扩展(它认为/home/ben/test是可执行文件)。在 bash 中你可以添加额外的引号:

alias myfile="'/home/ben/test case/myfile'"
Run Code Online (Sandbox Code Playgroud)

遗憾的是,这在鱼类中不起作用。我该怎么办?

cuo*_*glm 5

Fish 中的 alias只是内置函数的包装器,它的存在是为了向后兼容 POSIX shell。aliasinfish不能用作POSIX alias。

如果你想要 POSIX 的等价物alias,你必须使用abbr ,它是在Fish 2.2.0中添加的:

abbr -a myfile "'/home/ben/test case/myfile'"
Run Code Online (Sandbox Code Playgroud)

或者:

abbr -a myfile "/home/ben/test\ case/myfile"
Run Code Online (Sandbox Code Playgroud)