2

~/path/ 中有一堆文件夹,名称以前缀开头,我需要非常频繁地访问它们。我正在尝试在 .bashrc 中创建一个快捷方式,这将使“前缀示例”运行命令“cd ~/path/prefixexample”。

我在函数和别名上都遇到了同样的问题:

function prefix(){ "cd ~/path/prefix$1"; }

alias prefix="cd ~/path/prefix$1"

当我输入“prefix 4”(文件夹路径/prefix4 确实存在)时,我得到:

bash: cd: path/prefixnoclobber: No such file or directory

我在这台机器上没有管理员权限,所以我无法更改某些内容。

.bashrc 已经包含了一堆东西,但唯一相关的似乎是“set noclobber”。我很确定用字符串“noclobber”替换参数不是 noclobber 开关功能的一部分,并且注释掉这个开关没有任何效果。

4

1 回答 1

2

别名命令中的$1被替换为安装脚本的第一个参数(显然是“noclobber”),而不是别名/函数的参数。你需要做两件事:

  1. 摆脱别名。别名不够灵活,无法满足您的要求,但别名覆盖任何具有相同名称的其他内容(因此会干扰更好的解决方案)。
  2. 使用一个函数:

    prefix() { cd ~/path/prefix"$1"; }
    
于 2012-10-28T08:15:46.633 回答