Параметр -s
- это запуск bash с помощью -s
, что означает «исходные команды из» стандарт в ". Из руководства:
-s Если присутствует опция -s, или если после обработки опции не осталось аргументов, то команды считываются из стандартного ввода. Эта опция разрешает позиционные параметры устанавливается при вызове интерактивной оболочки.
Это очень легко проверить:
$ bash -c 'echo $-'
hBc
$ bash -sc 'echo $-'
hBcs
Запуск новой оболочки для всех предыдущих версий bash не устанавливает эту опцию по умолчанию:
$ b32sh -li
$ echo $-
himBH
Но это есть в bash 4.4:
$ b44sh -li
$ echo $-
himBHs
Вы должны быть в порядке с
ln -s /usr/libexec/urlgrabber-ext-down-2.7 /usr/libexec/urlgrabber-ext-down
Это решило проблему для меняhttps://blog.51cto.com/chaichuan/2083574. В основном пришлось изменить версию python в двух файлах, упомянутых в ссылке, на 2.7
На одном из серверов я заметил, что файл /usr/libexec/urlgrabber-ext-down
имеет это вверху :#! /usr/bin/python
Но символическая ссылка python была сломана. ввод python --version
вызовет ошибкуcommand not found
Создал символическую ссылку для python, указывающую на python2.7, и это устранило проблему