跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 请教一下 zshrc 的 alias 写法
未分類
18 12 月 2020

请教一下 zshrc 的 alias 写法

请教一下 zshrc 的 alias 写法

資深大佬 : JCZ2MkKb5S8ZX9pq 4

在把一些东西从 win 往 mac 搬。

  • 在 win 下的是这样。
doskey autorun = python %~dp0autorun.py $*   # 其中%~dp0 是当前 bat 所在路径 
  • mac 下我知道大概长这样
alias autorun="python somepath/autorun.py" 

请问

  • mac 下能设定命令所在根目录为一个参数嘛?怎么写?
  • mac 下应该不同于 bat,参数我直接跟在 alias 后面打就可以了吧?感觉这里的 alias 就是个缩写。以后要加参数感觉就是 autorun -f 类似这样是吗?
  • 追加一条,添加一个 path 到环境变量的话,请问怎么写比较简洁?
大佬有話說 (13)

  • 資深大佬 : aibangjuxin

    装一个 oh-my-zsh,然后自己看看里面的格式,应该差不多都能搞定了

  • 資深大佬 : TimePPT

    可以试试在 .zshrc 里写 function

  • 主 資深大佬 : JCZ2MkKb5S8ZX9pq

    @TimePPT

    function 不知道咋写……
    win 可以
    set long=a_very_long_patn
    然后调用时
    doskey sync = python %long%sync.py $*

    请问 zshrc 里能设一个这样的长路径为变量嘛?因为很长而且重复很多次。搜变量搜到的都是怎么改环境变量的……

  • 資深大佬 : idlerlestat

    简单的可以直接写
    targetdir=foo
    或者写
    export targetdir=foo
    然后引用是 $targetdir

  • 主 資深大佬 : JCZ2MkKb5S8ZX9pq

    @idlerlestat 好的,我试试。

  • 資深大佬 : dzdh

    我选择在 ~/bin/ 目录写个 shell 脚本兼容各个 shell :doge:

  • 主 資深大佬 : JCZ2MkKb5S8ZX9pq

    @idlerlestat ok,搞好了。谢谢。

  • 資深大佬 : wengych

    当前路径作为参数可以用 ls `pwd`

  • 資深大佬 : wengych

    alias 只是给命令起别名,并不具备读取 shell 命令行参数的能力,如果你需要使用参数读入,那就需要配合 function 来搞了,给你个 demo,我日常看 log 和 shell 进 POD 的 alias

    alias kexec=’function _kexec(){ kubectl exec -it -n ${1} $(kubectl get pods -n ${1} -l app=${2} –no-headers -o custom-columns=NAME:.metadata.name) /bin/bash }; _kexec’
    alias klog=’function _klog(){ kubectl get pods -n ${1} -l app=${2} –no-headers -o custom-columns=NAME:.metadata.name| xargs kubectl logs -n ${1} -f }; _klog’

  • 資深大佬 : wengych

    追加路径就是
    export PATH=/usr/local/bin:$HOME/macports/bin:$HOME/macports/sbin:$GRADLE_HOME/bin:$PATH

  • 主 資深大佬 : JCZ2MkKb5S8ZX9pq

    @wengych 嗯,我的大都是 python 配合 fire,试了一下参数直接加后面就可以了。

  • 資深大佬 : IgniteWhite

    zsh 不用关心双引号这个很不习惯……

  • 資深大佬 : ihwbunny

    1. 可以,但需要一点假定和技巧:比如你的.py 不知在哪里,但是可以使用诸如 whereis 或者 which 找到,那么可以用下面的命令行提取这个命令所在目录. 比如 xxd,用 whereis 得到 /usr/bin/xxd,获得他的目录的命令是:
    dirname $(whereis xxd),得到 /usr/bin; 如果是知道它的目录直接写在后面即可

    2. 可以,直接后面跟参数
    比如 alias ll=”ls -la”
    那么写参数的命令:$ ll $HOME

    3. 前面都有人说了:export PATH=/your/path/here:$PATH

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具