В зависимости от того, насколько портативным вы хотите быть.
Apple не отправляет Bash 4 на Mac OS X, так как Bash 4 использует GPLv3. Конечно, пользователи могут установить их сами, если захотят, но у большинства пользователей этого не будет.
Если вы хотите быть портативным для OS X, вы, вероятно, не должны полагаться на функции Bash 4. Однако, если вы не против просто переносить современные дистрибутивы GNU/Linux, то почти все они включают Bash 4, поэтому вы можете также положиться на них.
Кроме того, помните, что не все ОС даже корабль bash по умолчанию. Например, OpenBSD отправляет pdksh по умолчанию, и вам нужно явно установить Bash. Debian отправляет bash, но /bin/sh
- это Dash, поэтому вам нужно явно использовать #!/bin/bash
, если вы хотите перейти к настройкам Bash.
Если вам действительно нужна переносимость, вы должны придерживаться функций POSIX/Single-Unix-Specification. Однако, если вам нужно только запустить последние дистрибутивы GNU/Linux (и даже несколько лет), используя /bin/bash
и предполагая, что это Bash 4, все должно быть хорошо.
Я думаю, это зависит от того, какие ОС вы нацеливаете - вы исключаете все ящики Apple OS X, если вы используете 'bash4', поскольку Apple не выходит за рамки bash 3.2'. –
Я действительно не вижу, как на это можно ответить, кроме как с фразой _it зависит _.... –