Как возврат из .bashrc, если не выполненный в интерактивном режиме?

У меня есть два оператора для возврата из ~/.bashrc если оболочка не является интерактивной, вероятно, от двух версий Ubuntu, но я не могу восстановить, какой является более новым (и я принимаю таким образом лучше), и я интересуюсь эффектом разных подходов:

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

по сравнению с.

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac
2
задан 29 August 2018 в 18:24

1 ответ

По словам Хакеров Bash Wiki, самый надежный метод должен проверить на существование i буква в переменной $- (Ваш второй метод).

Существуют более чистые способы реализовать это действие, как следующее:

[[ $- == *i* ]] || return

Для получения дополнительной информации проверьте этот ответ на сообществе Unix&Linux StackExchange.

2
ответ дан 2 December 2019 в 03:31

Другие вопросы по тегам:

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