Несколько технических замечаний и проблем, с которыми вы столкнетесь:
Все, что сказал @AndAC. add-apt-repository не может быть установлена в системе каждого пользователя. На чистых установках, которые я видел, 12.04 включает его по умолчанию, но более старые - нет. Вам может потребоваться остановка в начале выполнения if [ "$(which add-apt-repository)" != ""], а в тех случаях, когда она не существует, принудительно установите родительский пакет в качестве зависимости, прежде чем продолжить в скрипте (примечание: опустите sudo, если вы возьмете третий маркер в этот список как часть вашего сценария): sudo apt-get install python-software-properties Вы можете использовать описанные здесь методы, чтобы весь ваш скрипт выполнялся как суперпользователь. И я говорю это, потому что в некоторых системах существует sudoers политика, требующая пароль для каждого экземпляра использования sudo. У меня есть несколько сценариев, которые в этом нуждаются, и добавив информацию в ответ, который я связал, вы можете частично избежать этой проблемы, потребовав, чтобы вы запускали скрипт как суперпользователь (через sudo).1.9.1 означает версию с двоичной совместимостью (и, как вы можете прочитать в описании пакета, ruby 1.9.2 совместим с двоичным кодом с ruby 1.9.1).
Это скорее путаница - больше объяснений можно найти здесь и здесь.
1.9.1 означает версию с двоичной совместимостью (и, как вы можете прочитать в описании пакета, ruby 1.9.2 совместим с двоичным кодом с ruby 1.9.1).
Это скорее путаница - больше объяснений можно найти здесь и здесь.
1.9.1 означает версию с двоичной совместимостью (и, как вы можете прочитать в описании пакета, ruby 1.9.2 совместим с двоичным кодом с ruby 1.9.1).
Это скорее путаница - больше объяснений можно найти здесь и здесь.
1.9.1 означает версию с двоичной совместимостью (и, как вы можете прочитать в описании пакета, ruby 1.9.2 совместим с двоичным кодом с ruby 1.9.1).
Это скорее путаница - больше объяснений можно найти здесь и здесь.
1.9.1 означает версию с двоичной совместимостью (и, как вы можете прочитать в описании пакета, ruby 1.9.2 совместим с двоичным кодом с ruby 1.9.1).
Это скорее путаница - больше объяснений можно найти здесь и здесь.
1.9.1 означает версию с двоичной совместимостью (и, как вы можете прочитать в описании пакета, ruby 1.9.2 совместим с двоичным кодом с ruby 1.9.1).
Это скорее путаница - больше объяснений можно найти здесь и здесь.
1.9.1 означает версию с двоичной совместимостью (и, как вы можете прочитать в описании пакета, ruby 1.9.2 совместим с двоичным кодом с ruby 1.9.1).
Это скорее путаница - больше объяснений можно найти здесь и здесь.
1.9.1 означает версию с двоичной совместимостью (и, как вы можете прочитать в описании пакета, ruby 1.9.2 совместим с двоичным кодом с ruby 1.9.1).
1.9.1 означает версию с двоичной совместимостью (и, как вы можете прочитать в описании пакета, ruby 1.9.2 совместим с двоичным кодом с ruby 1.9.1).