Итак, идея состоит в том, чтобы иметь скрипт, который пытается выполнить команду, и, если команда не выполняется, он отображает любые предупреждения / ошибки. Моя попытка:
$ cat try.sh
#! /bin/sh
tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/temp$$
trap 'rm -f $tempfile >/dev/null 2>&1' 0
trap 'exit 2' 1 2 3 15
echo "$@"
if ! "$@" >$tempfile 2>&1; then
cat $tempfile;
false;
fi
Считаете ли вы, что этот скрипт в порядке (с точки зрения переносимости и функциональности)?