Viv*_*V K 6 command-line bash gnome-terminal alias
我想要这样的东西:
"vivek@grishma:~/xxx/yyy/zzz/src$"
显示为
"vivek@grishma:datasource$"
我会以某种方式预定义“数据源”作为上面长路径的别名。
使用别名命令作为
" 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
)\$'
Run Code Online (Sandbox Code Playgroud)
这也使您可以灵活地定义其他特殊目录。
别名在这里帮不了你。
为了减少重复,将所有特殊目录放在一个数组中,并使用它来生成别名和提示。把所有这些放在你的 ~/.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" )\$'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
516 次 |
最近记录: |