Executa saída padrão com função

0

Eu tenho um script que define meu prompt (incluído abaixo). Em vez de copiá-lo e salvá-lo em cada sistema que ele usa, eu quero fazer o download e executá-lo com $(curl <url>) . No entanto, quando o executo do bash, recebo este erro: -bash: function: command not found . Como faço para corrigir isso?

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

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="\[3[0;37m\]" #gray
BRANCH_COLOR="\[3[0;33m\]" #yellow
PATH_COLOR="\[3[1;32m\]" #green; bold
PROMPT_COLOR="\[3[0m\]" #none (white)

PS1="$(prompt)"
    
por Jay Bienvenu 30.06.2017 / 15:21

1 resposta

2

Experimente sem a palavra-chave function - é possível que seu Bash seja antigo ou algum fork estranho que não o suporte. É um bashism redundante, então nada é perdido removendo-o.

    
por 30.06.2017 / 15:29