Мне не нравятся все остальные ответы (хотя они мне очень нравятся за их хитрость ):они отображают код выхода, но они также МЕНЯЮТ ЕГО. (отображаемая часть верна, поэтому после нее код возврата равен 0)
Вот измененная версия:
do_and_tell () {
"$@"
returncode="$?"
printf "Execution of : \n%s\n yelded a return code of: \n%s\n" "$*" "$returncode"
return $returncode # the interresting addition... keeps the commands return value.
}
## usage:
prompt$ do_and_tell true
Execution of :
true
yelded a return code of:
0
prompt$ echo $?
0
prompt$ do_and_tell false
Execution of :
false
yelded a return code of:
1
prompt$ echo $?
1
Проблема решена путем смены пользователя. Я пытался установить Android Studio с правами root. Но когда я открыл новую вкладку терминала и запускаю команды от имени обычного пользователя, установка запускается без ошибок.