python2 автозаполняет имена файлов в оболочке BASH, python3 не

Как правило, вы можете скопировать позиционные параметры в массив, удалить произвольные индексы массива и затем использовать массив для расширения до тех же нужных индексов, не теряя исходных аргументов.

Например , если мне нужны все аргументы, кроме первого, четвертого и пятого:

args=( "$@" )
unset args[0] args[3] args[4]
echo "${args[@]}"

В копии индексы сдвинуты на 1, так как $0 не является частью $@. 2]

1
задан 20 March 2018 в 22:48

3 ответа

Как мы обсуждали в комментариях, вы пытаетесь использовать автозаполнение Bash на скриптах с расширениями .py3. Проблема в том, что Bash будет только автозаполнять скрипты с расширениями .py.

Я рекомендую использовать расширения .py даже для скриптов Python 3, так как .py3 является нестандартным. Если скрипты требуют Python 3, вы можете ...

Использовать shebang: #!/usr/bin/env python3 Проверить, есть ли sys.version_info.major == 3 Или проверить, >= 3, чтобы разрешить форвардную совместимость. Возможно использование from __future__ import ... для возврата назад совместимость
3
ответ дан 22 May 2018 в 12:28

Как мы обсуждали в комментариях, вы пытаетесь использовать автозаполнение Bash на скриптах с расширениями .py3. Проблема в том, что Bash будет только автозаполнять скрипты с расширениями .py.

Я рекомендую использовать расширения .py даже для скриптов Python 3, так как .py3 является нестандартным. Если скрипты требуют Python 3, вы можете ...

Использовать shebang: #!/usr/bin/env python3 Проверить, есть ли sys.version_info.major == 3 Или проверить, >= 3, чтобы разрешить форвардную совместимость. Возможно использование from __future__ import ... для возврата назад совместимость
3
ответ дан 17 July 2018 в 18:26

Как мы обсуждали в комментариях, вы пытаетесь использовать автозаполнение Bash на скриптах с расширениями .py3. Проблема в том, что Bash будет только автозаполнять скрипты с расширениями .py.

Я рекомендую использовать расширения .py даже для скриптов Python 3, так как .py3 является нестандартным. Если скрипты требуют Python 3, вы можете ...

Использовать shebang: #!/usr/bin/env python3 Проверить, есть ли sys.version_info.major == 3 Или проверить, >= 3, чтобы разрешить форвардную совместимость. Возможно использование from __future__ import ... для возврата назад совместимость
3
ответ дан 23 July 2018 в 19:14

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

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