有没有一种方法可以通过别名来缩短(而不是删除)终端中显示的路径

Vivek VK

我想要这样的东西:

"vivek@grishma:~/xxx/yyy/zzz/src$" 显示为

"vivek@grishma:datasource$" 我将以某种方式将预定义的“数据源”用作上面长路径的别名。

使用alias命令作为

" alias datasource='~/xxx/yyy/zzz/src'"

对导航很有用,但它并不能消除提示中的冗长路径。

这可能吗?

PS-我不希望它只是“ vivek @ grishma:”,因为那样的话每次我应该运行pwd来知道我的工作目录时。

格伦·杰克曼

这样可以:

PS1='\u@\h:$(
    case $PWD in
       $HOME/xxx/yyy/zzz/src) echo "datasource ;; 
       *) echo "\w" ;; 
    esac
)\$'

这也使您可以灵活地定义其他特殊目录。

别名不会在这里为您提供帮助。

为了减少重复,请将所有特殊dirs放入一个数组中,并使用它来生成别名和提示。将所有这些放入您的〜/ .bashrc中:

declare -A labels=(
    [$HOME/xxx/yyy/zzz/src]=datasource
    [$HOME/foo/bar]=baz
)
for path in "${!labels[@]}"; do
    alias "${labels[$path]}"="$path"
done
function path_label () {
    local IFS=:
    if [[ ":${!labels[*]}:" == *:"$PWD":* ]]; then
        # we're in a "known" dir
        echo "${labels[$PWD]}"
    else
        return 1
    fi
}
PS1='\u@\h:$( path_label || echo "\w" )\$'

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有没有一种方法可以使用ncurses在Linux终端中显示垂直箭头字符?

有没有一种方法可以显示在Shiny中构建的图,而不是等待所有图?

有没有一种方法可以根据先前号码的条件来删除列表中的号码?

有没有一种方法可以通过Rust中的枚举来索引数组?

有没有一种方法可以通过列表来确定Django表单中的字段?

有没有一种方法可以在wix中获取目录的实际路径?

有没有一种方法可以缩短我的SQL Server代码

有没有一种方法可以缩短此if语句?

有没有一种方法可以缩短这种条件?

有没有一种方法可以缩短“大于”操作员的状况?

有没有一种方法可以快速缩短偏好列表

有没有一种方法可以从ViewGroup中删除视图

有没有一种方法可以自动删除Eclipse中的尾随空格?

有没有一种方法可以从pubsub邮件存储中删除邮件?

有没有一种方法可以删除多个PowerPoint形状中的文本?

有没有一种方法可以只删除xcode中禁用的断点?

有没有一种方法可以删除Excel中的无效字符?

有没有一种方法可以缩短Next.JS中的导入位置

有没有一种方法可以通过JS中的RTC发送变量?

有没有一种方法可以通过函数而不是值来比较两种方法?

有没有一种方法可以在颤动中显示文本内部的图像

有没有一种方法可以在RStudio Viewer中显示多个表?

有没有一种方法可以在PropertyGrid中显示静态属性?

有没有一种方法可以在QTextEdit中显示堆叠的文本

有没有一种方法可以在Excel中显示动态行数?

在ActiveAdmin中,有没有一种方法可以显示关联的nil模型?

有没有一种方法可以创建别名/变量/命令来重复赛普拉斯测试中的静态代码块?

有没有一种方法可以计算SQL中计数别名的总和?

有没有一种方法可以删除没有实时CD的g