Как я могу выполнить свой .bashrc вызов к shopt-s autocd, зависят от версии удара?

Можно попытаться скомпилировать ядро 2.4, хотя из-за более нового libc и более нового компилятора, Вы могли бы получить некоторые проблемы компиляции... Таким образом, необходимо было бы создать своего рода chroot среду с более старым libc и более старым GCC, который не настолько легок!

Просто компиляция его не будет делать ничего плохого. Но это могло бы быть слишком много работы, чтобы сделать. Таким образом, действительно ли это стоит того?

6
12.04.2014, 22:18
3 ответа

autocd[112679] был введен в bash [112680] с версией 4[112681]. Таким образом, общее кроссплатформенное решение должно быть:

${BASH_VERSINFO[0]}[112683] является основной версией bash. Минорная версия, если она вам когда-нибудь понадобится, это [112684]${BASH_VERSINFO[1]}[112685]. Смотрите [112686]man bash[112687] для более подробной информации о [112688]BASH_VERSINFO[112689].[112135].

3
27.01.2020, 20:29
[112344] Это так же просто, как

Если вы хотите посмотреть, доступна ли опция, но не изменить ее значение, позвоните [112946]shopt[112947] без [112948]-s[112949] или [112950]-u[112951]:

sudo killall mDNSResponder

2
27.01.2020, 20:29

Простым подходом будет проверка имени операционной системы и соответствующие действия. Я не знаю, что uname вернется к OSX, но предположительно это будет другое. Поэтому вы можете сделать что-то вроде этого:

 [[ $(uname) = Linux ]] &&  shopt -s autocd

Тем не менее, вы уверены, что вам нужно это сделать? По умолчанию OSX запускает оболочки для входа в систему, и ~/.bashrc игнорируется, если только вы не изменили свой ~/.профиль для его исходного кода. Поэтому, если у Вас что-то есть в Вашем ~/.bashrc, он все равно будет работать только под Linux.

0
27.01.2020, 20:29

Теги

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