使用函数执行标准输出

使用函数执行标准输出

我有一个设置提示的脚本(包含在下面)。我不想将其复制并保存在它使用的每个系统上,而是想下载并使用$(curl <url>).但是,当我从 bash 运行它时,出现以下错误:-bash: function: command not found。我该如何解决?

function parse_git_branch () {
  git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'
}

function parse_pwd () {
  pwd | sed -e 's#/var/www/#%#' | sed -e 's#/home/myusername#~#'
}

function prompt () {
  echo "$BRANCH_COLOR\$(parse_git_branch)$USERNAME_COLOR`whoami`$PATH_COLOR\$(parse_pwd)$PROMPT_COLOR "
}

USERNAME_COLOR="\[\033[0;37m\]" #gray
BRANCH_COLOR="\[\033[0;33m\]" #yellow
PATH_COLOR="\[\033[1;32m\]" #green; bold
PROMPT_COLOR="\[\033[0m\]" #none (white)

PS1="$(prompt)"

答案1

尝试不使用function关键字 - 您的 Bash 可能是古老的或一些不支持它的奇怪的分支。这是一个多余的巴什主义无论如何,删除它不会造成任何损失。

相关内容