portal.sh
#!/bin/bash
# figure out the absolute path to the script being run a bit
# non-obvious, the ${0%/*} pulls the path out of $0, cd's into the
# specified directory, then uses $PWD to figure out where that
# directory lives - and all this in a subshell, so we don't affect
# $PWD
GAMEROOT=$(cd "${0%/*}" && echo $PWD)
#determine platform
UNAME=`uname`
if [ "$UNAME" == "Darwin" ]; then
# prepend our lib path to LD_LIBRARY_PATH
export DYLD_LIBRARY_PATH="${GAMEROOT}"/bin:$DYLD_LIBRARY_PATH
elif [ "$UNAME" == "Linux" ]; then
# prepend our lib path to LD_LIBRARY_PATH
export LD_LIBRARY_PATH="${GAMEROOT}"/bin:$LD_LIBRARY_PATH
fi
if [ -z $GAMEEXE ]; then
if [ "$UNAME" == "Darwin" ]; then
GAMEEXE=portal2_osx
fi
fi
ulimit -n 2048
# and launch the game
cd "$GAMEROOT"
STATUS=42
while [ $STATUS -eq 42 ]; do
if [ "${DEBUGGER}" == "gdb" ]; then
ARGSFILE=$(mktemp $USER.portal2.gdb.XXXX)
echo run $@ > "$ARGSFILE"
${DEBUGGER} "${GAMEROOT}"/${GAMEEXE} -x "$ARGSFILE"
rm "$ARGSFILE"
else
${DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"
fi
STATUS=$?
done
exit $STATUS
Правда при попытке запуска пишет
sh ./portal2.sh
: not foundh: 2:
: not foundh: 8:
: not foundh: 10:
./portal2.sh: 16: Syntax error: "elif" unexpected (expecting "then")
А после небольшой правки
sh ./portal2.sh
: not foundh: 2:
: not foundh: 8:
: not foundh: 10:
./portal2.sh: 45: Syntax error: end of file unexpected (expecting "then")
Но вообще, подозрительно это как-то.