Bash or-равно || = как Ruby

Есть ли в Bash что-то вроде || =?

То есть, есть ли лучший способ сделать следующее:

if [ -z $PWD ]; then PWD=`pwd`; fi

Я спрашиваю, потому что получаю эту ошибку :

$ echo ${`pwd`/$HOME/'~'}
-bash: ${`pwd`/$HOME/'~'}: bad substitution

Итак, мой план таков:

if [ -z $PWD ]; then PWD=`pwd`; fi
echo ${PWD/$HOME/'~'}

Мой настоящий вопрос: «Есть ли лучший способ сделать следующее?»

# ~/.bash_profile

# Set prompt to RVM gemset, abbr. of current directory & (git branch).
PROMPT_COMMAND='CUR_DIR=`pwd|sed -e "s!$HOME!~!"|sed -E "s!([^/])[^/]+/!\1/!g"`'
PS1='$(~/.rvm/bin/rvm-prompt g) [$CUR_DIR$(__git_ps1)]\$ '
11
задан ma11hew28 28 July 2011 в 13:28
поделиться