$v_result -ne 0 означает

Я полагаю, что на машине Solaris в качестве оболочки по умолчанию используется ksh. Ksh не имеет сложной интерактивной функции, к которой вы могли бы привыкнуть, если раньше использовали bash или zsh.Если вам нужна удобная среда, установите zsh или хотя бы bash на машину Solaris. Если bash или zsh уже установлены системным администратором, используйте chsh , чтобы переключиться на них. Если вы установите его самостоятельно, вам не будет разрешено использовать chsh , но вместо этого вы можете переключать оболочки внутри своего .profile (сделайте это последним):

case $- in *i*)
  ## This is an interactive shell, try to switch over to a better shell
  if whence zsh >/dev/null 2>/dev/null; then exec zsh -i; fi
  if whence bash >/dev/null 2>/dev/null; then exec bash -i; fi
  ;;
esac

Если вы решаете использовать ksh, его конфигурационный файл ~ / .kshrc , именно здесь вы определяете псевдонимы. (Обратите внимание, что псевдонимы предназначены для каждого экземпляра оболочки, а не для сеанса, поэтому они не принадлежат ~ / .profile ).

Клавиша Backspace должна работать из коробки, если все оставили вещи в покое. К сожалению, многие ОС поставляются с настройками, которые дважды гарантируют, что все работает, пока вы используете одну и ту же ОС повсюду, но нарушают автоматизацию, которая в противном случае заставила бы все работать через удаленный вход. Я не знаю, кто из Solaris или OSX виноват. Если вам не хочется исследовать, вы можете сообщить оболочке Solaris, что «символ DEL» удаляется слева, с помощью этой команды в вашем ~ / .profile (это будет неправильно, если вы войдете в с машины, куда BackSpace отправляет ^ H ).

stty erase '^?'

Клавиша Escape обычно не закрывает приложения в текстовом режиме. Обычный просмотрщик страниц руководства на меньше , а его команда выхода привязана к q .

-7
24.08.2018, 13:12
3 ответа

Код должен заключаться в двойных кавычках расширения $v_resultв тесте, а в операторе ifотсутствует fiпосле последней строки.

Тест -neпредставляет собой арифметическое сравнение, которое проверяет, является ли целочисленное значение слева не равным целочисленному значению справа. Если проверка прошла успешно($v_resultне равно нулю ), переменная v_statusустанавливается в строку Failed, в противном случае — в строку success.

Тест -neописан в руководстве к утилитам [и test, а также в руководстве к вашей оболочке. Это также стандартный тестовый оператор , описанный стандартом POSIX для утилиты test.

3
28.01.2020, 05:21

v_result — это переменная, а $v_result— это то, как оболочка расширяет (подставляя свое значение )этой переменной. -ne— это «арифметический бинарный оператор», применяемый к целочисленным элементам в «условных выражениях», возвращающий ИСТИНА, если его аргументы не равны. Все это можно найти на справочной странице вашей оболочки (, например.man bash)

1
28.01.2020, 05:21

-neозначает «Не равно». Вы можете найти больше информации об этих операторах в man test

1
28.01.2020, 05:21

Теги

Похожие вопросы