[GRASS-dev] Re: [GRASS GIS] #1369: setPrompt: command not found in GRASS7-svn

GRASS GIS trac at osgeo.org
Mon May 23 15:09:24 EDT 2011


#1369: setPrompt: command not found in GRASS7-svn
-------------------------+--------------------------------------------------
 Reporter:  moovida      |       Owner:  grass-dev@…              
     Type:  defect       |      Status:  new                      
 Priority:  normal       |   Milestone:  7.0.0                    
Component:  Startup      |     Version:  svn-trunk                
 Keywords:               |    Platform:  Linux                    
      Cpu:  Unspecified  |  
-------------------------+--------------------------------------------------
Description changed by neteler:

Old description:

> The grass7 command shell doesn't appear to permit to have an own
> setPrompt.
>
> I use a customized one to have some different information/coloring of the
> prompt in the case of git and hg repos:
>
> function setPrompt(){
>     thedate=`date "+%F %T"`
>     if [ -d ./.git ]; then
>         GITBRANCH="$NC($GREEN$(awk -F '/' '{ print $NF }' .git/HEAD)$NC"
>
>         if [ $(git diff --exit-code > /dev/null 2>&1; echo $?) -eq 1 ] ||
> [ $(git diff-index --cached --quiet --ignore-submodules HEAD --; echo $?)
> -eq 1 ]; then
>           GITBRANCH="$GITBRANCH [$RED*$NC"
>         else
>           GITBRANCH="$GITBRANCH [$MAGENTA-$NC"
>         fi
>
>         if [ "x$(git status | grep Untracked)" != "x" ]; then
>           GITBRANCH="$GITBRANCH$RED+$NC])"
>         else
>           GITBRANCH="$GITBRANCH$MAGENTA-$NC])"
>         fi
>         echo -e "\n${GREEN}GIT:${NC} ${GITBRANCH}"
>         echo -e
> "${GREEN}======================================================
> $thedate${NC}\n\n\w >>> "
>     elif [ -d ./.hg ]; then
>         HGBRANCH="$NC($CYAN$(awk -F '/' '{ print $NF }' .hg/branch)$NC"
>
>         if [ "x`hg status | grep ?`" != "x" ]; then
>           HGBRANCH="$HGBRANCH [$RED+$NC])"
>         else
>           HGBRANCH="$HGBRANCH [$MAGENTA-$NC])"
>         fi
>
>         echo -e "\n${CYAN}HG:${NC} ${HGBRANCH}"
>         echo -e
> "${CYAN}======================================================
> $thedate${NC}\n\n\w >>> "
>     else
>         echo -e
> "${RED}======================================================
> $thedate${NC}\n\n\w >>> "
>     fi
> }
>

> which leads me to the error in the subject.
>
> While for example in grass64 I have:
> GRASS 6.4.0+42329 (gbovest):~ > echo $PROMPT_COMMAND
> '/usr/lib/grass64/etc/prompt.sh'
>
> in grass7 it seems to have changed to:
> echo $PROMPT_COMMAND
> PS1="$(setPrompt)"

New description:

 The grass7 command shell doesn't appear to permit to have an own
 setPrompt.

 I use a customized one to have some different information/coloring of the
 prompt in the case of git and hg repos:

 {{{
 function setPrompt(){
     thedate=`date "+%F %T"`
     if [ -d ./.git ]; then
         GITBRANCH="$NC($GREEN$(awk -F '/' '{ print $NF }' .git/HEAD)$NC"

         if [ $(git diff --exit-code > /dev/null 2>&1; echo $?) -eq 1 ] ||
 [ $(git diff-index --cached --quiet --ignore-submodules HEAD --; echo $?)
 -eq 1 ]; then
           GITBRANCH="$GITBRANCH [$RED*$NC"
         else
           GITBRANCH="$GITBRANCH [$MAGENTA-$NC"
         fi

         if [ "x$(git status | grep Untracked)" != "x" ]; then
           GITBRANCH="$GITBRANCH$RED+$NC])"
         else
           GITBRANCH="$GITBRANCH$MAGENTA-$NC])"
         fi
         echo -e "\n${GREEN}GIT:${NC} ${GITBRANCH}"
         echo -e
 "${GREEN}======================================================
 $thedate${NC}\n\n\w >>> "
     elif [ -d ./.hg ]; then
         HGBRANCH="$NC($CYAN$(awk -F '/' '{ print $NF }' .hg/branch)$NC"

         if [ "x`hg status | grep ?`" != "x" ]; then
           HGBRANCH="$HGBRANCH [$RED+$NC])"
         else
           HGBRANCH="$HGBRANCH [$MAGENTA-$NC])"
         fi

         echo -e "\n${CYAN}HG:${NC} ${HGBRANCH}"
         echo -e
 "${CYAN}======================================================
 $thedate${NC}\n\n\w >>> "
     else
         echo -e
 "${RED}======================================================
 $thedate${NC}\n\n\w >>> "
     fi
 }
 }}}

 which leads me to the error in the subject.

 While for example in grass64 I have:

 {{{
 GRASS 6.4.0+42329 (gbovest):~ > echo $PROMPT_COMMAND
 '/usr/lib/grass64/etc/prompt.sh'
 }}}

 in grass7 it seems to have changed to:

 {{{
 echo $PROMPT_COMMAND
 PS1="$(setPrompt)"
 }}}

--

-- 
Ticket URL: <https://trac.osgeo.org/grass/ticket/1369#comment:2>
GRASS GIS <http://grass.osgeo.org>



More information about the grass-dev mailing list