Похоже на использование KDE так попытка:
Control Centre -> Regional and Accessibility -> Keyboad Shortcuts
и измените сочетание клавиш в Popup Launch Menu
запись от Alt-F1
к Win
ключ.
Можно перенаправить вывод ошибок в файл и затем получить тот вывод:
trap "rm -f /tmp/cfn-error.txt" 0 1 2 3 15
/opt/aws/bin/cfn-init -s ... 2>/tmp/cfn-error.txt ||
error_exit $(</tmp/cfn-error.txt)
Необходимо всегда очищать путаницу, не забывайте удалять любые временные файлы, которые Вы создаете.
Можно также сделать это перенаправлением:
# run_cmd 'error message' cmd -foo "${params[@]}"
run_cmd() {
local e r m=$1
shift
exec 6>&1
e=$("$@" 2>&1 >&6)
r=$?
exec 6>&-
((r)) || return 0
error_exit "$m" "$e"
}
Таким образом, Вы использовали бы:
run_cmd 'Failed to run cfn-init' /opt/aws/bin/cfn-init -s ..
Строка: $ e= (" $" 2> &1> &6) сначала направляет stderr к stdout, который в контексте $ (..) вывод, который мы получаем. Затем stdout направлен туда, где он первоначально пошел, когда мы запустили функцию.
Конечно, можно заставить error_exit дополнительно взять статус выхода и назвать его с, например: "$r" "$m" error_exit "$e"
set -u;echo $str
? – Aquarius Power 25.07.2014, 05:55-u
опция? В (da) sh, существуетtrap 0
. В ударе, существуетtrap ERR
. – Arcege 25.07.2014, 09:49trap ERR
– Aquarius Power 25.07.2014, 10:52