Вы получаете ошибку [: =: ожидаемый унарный оператор
из-за того, что команда who am i
слева $(who am i | ...)
не возвращает никакого текста, поэтому такие поля/переменные/и т. д. всегда следует указывать. в кавычках.
Причина, по которой who am i
не возвращает текст, заключается в том, что он предоставляет вам информацию о терминале (которая существует только в том случае, если вы запускаете ее «вручную»). К сожалению, ssh не запускает «настоящий/полный» сеанс терминала, если вы запускаете команду (так называемый неинтерактивный сеанс).
Вы должны попробовать заменить его, например. $USER
, что даже более эффективно (доступ к переменным намного быстрее, чем запуск новой программы):
if [ "$USER" = "some_user" ]; then
В качестве обходного пути вы можете запустить его с помощью ssh -t
, который выделит псевдотерминал, заставив who am i
снова работать.
Gnumeric часто устанавливается вместе с сопутствующим приложением под названием ssconvert. Ssconvert предназначен для преобразования через командную строку из одного типа файла электронной таблицы в другой. Я не думаю, что он может выводить файл SC, но может вводить его. Таким образом, команда :ssconvert something.sc something.xls должна преобразовать файл scfile в формат xls. Если у вас не установлен Gnumeric, возможно, его установка даст решение. Если ваш Gnumeric не устанавливается с помощью утилиты ssconvert, обратите внимание, что Gnumeric может загружать файлы SC и выводить файлы.xls.