Первое в моем файле Bashrc является это выражение:Нужна помощь в понимании странного выражения Bashrc
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
Может кто-нибудь объяснить, что это значит?
все эти символы делают его очень трудным для Google, и нет никакого эквивалента Haskell «hoogle» для bash, поэтому я могу искать выражения символов.
Предполагаемое поведение похоже на это.
nonsourced=0;
# if sourced,
if [[ "$0" == "$BASH_SOURCE" ]]; then
nonsourced=1;
else
nonsourced=0;
fi
echo "nonsourced? $nonsourced";
case $- in
*i*)
# this case is entered if "$-" contains "i".
if [[ "$nonsourced" -eq "0" ]]; then
echo "1. " "$-";
fi
;; # leave case?
*) # this case is entered in all other cases.
if [[ "$nonsourced" -eq "0" ]]; then
echo "2. " "$-";
return
else
# cannot return from nonsourced, use exit.
echo "avoided return from nonsourced #2";
exit 0;
fi
;; # leave case?
esac
echo "3";
'*)' - это «по умолчанию», интересная ссылка: http://www.linux.org/threads/case-statement-in-bash-scripts.5602/ (я искал «звездочку для bash») –
Вы можете попробовать symbolhound.com для поиска со строками, содержащими символы. – meatspace
Зачем вам нужно google? Разве вы не знаете, где находится руководство bash? http://www.gnu.org/software/bash/manual/html_node/index.html – Barmar