代码之家  ›  专栏  ›  技术社区  ›  Guillaume Massé

使用参数创建别名

  •  0
  • Guillaume Massé  · 技术社区  · 15 年前

    我想要一个能产生如下结果的别名:

    $cd /home/ok
    
    [clear screen]
    /home/ok
    total 452K
    -rwx--x--x 1 user gigl  16K Oct  1 14:08 ok0
    drwx------ 5 user gigl    0 Oct  1 14:02 ok1
    drwx------ 5 user gigl    0 Oct  1 13:59 ok2
    drwx------ 9 user gigl    0 Oct  1 14:01 ok3
    -rw------- 1 user gigl   32 Sep 30 14:36 ok4
    

    我写了一个剧本

    $cat ~/.cd.sh
    #!/bin/bash
    cd $1 && clear && pwd && ls -lh --color=auto
    

    但它不会改变当前的方向。这可能是因为在脚本中它会改变dir,但是当它返回bash时,我又回到dir中,我执行了这个脚本。

    有什么想法吗?

    alias ls="clear && pwd && ls -lh --color=auto"
    cd() { builtin cd "$1" && ls; }
    
    3 回复  |  直到 15 年前
        1
  •  9
  •   Bryan    15 年前

    就个人而言,我建议编写一个函数,而不是从.bashrc或.bash_配置文件加载的别名。

    cdd () {
      cd "$1"
      clear
      pwd
      ls -lh --color=auto
    }
    

        2
  •  1
  •   jilles    15 年前

    例如,请改用函数

    mycd() { cd "${1?}" && clear && pwd && ls -lh --color=auto; }
    
        3
  •  0
  •   0x1F602    15 年前

    我想你也不想。这将同时运行每个命令,iirc。你应该用分号。

    推荐文章