Bash是否有類似於|| =的內容?Bash or-equals || = like Ruby
也就是說,有沒有更好的方式來做到以下幾點:
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)]\$ '
不不同的(或更好的)但更短的:'[-z $ PWD] && PWD = \'pwd \'' – pje