【问题标题】:alias - cd followed by ls别名 - cd 后跟 ls
【发布时间】:2013-01-03 20:17:41
【问题描述】:

如何定义别名,以便当我执行cd Abcd(其中'Abcd' 是目录的名称)时,将目录更改为'Abcd',后跟ls 以显示目录的内容目录?

【问题讨论】:

标签: linux alias cd


【解决方案1】:

我相信你不能使用别名来完成它,但你可以定义一个函数来做到这一点:

#print contents after moving to given directory
cl()
{
    cd $@
    ls
}

您可以将其粘贴到您的 ~/.bashrc 文件中。

如果您希望覆盖内置的cd 命令,那么您可以这样做:

#print contents after moving to given directory
cd()
{
    builtin cd $@
    ls
}

【讨论】:

  • 很好的答案!不过,我更喜欢将我的 .bashrc 文件大部分放在一个单独的位置,并将它们放在 .bash_aliases 或保留手动添加的其他外部文件中(对我来说是 .zsh_aliases)。
【解决方案2】:

UNIX

创建别名

您的 Linux 发行版很可能不会在您的家中创建 .bash_aliases 文件,或者您甚至可以手动创建它。要创建文件,请键入以下命令: touch ~/.bash_alisaes

现在,每次您启动新终端时,该文件都会自动执行。

您现在可以做的是创建一个别名列表并将它们添加到该文件以供以后使用。 创建一个别名并更新 ~/.bash_aliases 文件以使其永久化。

通用方法:创建自定义脚本

在 /usr/bin 文件夹中创建一个 bash 脚本,它应该看起来像这样

#!/bin/bash
Whatever combination of commands you want to run when you type this thing.

就这么简单。

只需将 bash 脚本命名为您想在终端中输入的内容,并使其可执行:chmod +x 文件名,您就可以开始了!

Windows

你可以使用DOSKEY命令:

来自维基百科:

DOSKey 是一个用于 MS-DOS 和 Microsoft Windows 的实用程序,它添加了命令 历史、宏功能和改进的编辑功能 命令行解释器 COMMAND.COM 和 cmd.exe。它被列为 带有 MS-DOS 和 PC-DOS 版本 5 及更高版本的 TSR 程序,以及 微软的 Windows 95/98/Me。

例如:要创建一个快速无条件格式化磁盘的宏,请输入:

doskey qf=格式 $1 /q /u

要快速且无条件地格式化驱动器 Z 中的磁盘,请键入:

qf Z:

要定义具有多个命令的宏,请使用 $t 分隔命令,因此您的问题的解决方案如下:

doskey cd=cd $1$tdir

现在,这仅适用于您当前打开的命令窗口。要使其永久化,只需创建一个批处理文件并将文件的绝对路径的值设置为 regedit

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun

注册表来源:superuser.com/a/238858

【讨论】:

  • 问题被标记为 linux - 所以这似乎是错误的答案。
  • @GodEater 这个问题在回答时没有被标记为linux。如果你愿意,我可以删除答案。
猜你喜欢
  • 2012-08-22
  • 1970-01-01
  • 2014-10-20
  • 2013-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-25
相关资源
最近更新 更多