Что касается смены на SSD:
Мне было бы неинтересно размещать раздел подкачки на SSD. Обмен, как и раньше, используется только тогда, когда нет ОЗУ. Но тогда есть «несколько» последовательных записей и «много» случайных чтений. Это как раз форма использования SSDs. - Этот же принцип используется технологией microsoft «readyboost», только с USB-Flashdrives.
В сценариях оболочки нет оператора, а это !, но вы не используете его совершенно правильно.
Поместите пробел между оператором ! и его операндом и оставьте круглые скобки. Это должно работать для всех оболочек в стиле POSIX, включая bash и sh / dash.
if ! id $User > /dev/null 2>&1
then
echo "This user does NOT exists. Please create that user before using this script.\n"
exit
fi
Вы можете использовать круглые скобки для группировки, если хотите, хотя в этом нет необходимости дело. Для выполнения выражения в скобках создается новая подоболочка. Оператор ! должен иметь пробел между ним и символом (. (Пространства вокруг самих скобок необязательны.)
if ! (id $User > /dev/null 2>&1)
then
echo "This user does NOT exists. Please create that user before using this script.\n"
exit
fi
См. оболочки в стиле POSIX для некоторых хороших альтернатив и рекомендаций стиля. (Кроме того, благодаря Gilles для некоторых исправлений об использовании круглых скобок.)
Вопросы, подобные этому, получаются в «Расширенном руководстве по созданию Bash-Scripting», который доступен для просмотра и доступен для загрузки по адресу http://www.tldp.org/guides.html