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.
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)"
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.
Tags bash curl shell-script