Как использовать завершение команды bash, чтобы завершались только файлы в определенном каталоге?

Код отправляет api_user_key . Он может отправить пустую строку, если переменная не установлена. Сценарий содержит код для поиска ключа пользователя путем запроса сервера в функции auth_user , но эта функция вызывается только в том случае, если вы устанавливаете logintopastebin в ненулевое значение. в начале или если вы передадите один из параметров -u или -l в командной строке. Вы можете переопределить значение, установив переменную api_user_key вручную после или вместо вызова auth_user , перед вызовом curl , например

api_user_key=$(cat ~/.passwords/pastebin/api_user_key)
…
if [ -z "$api_user_key" ] && [ "$logintopastebin" -eq 0 ]; then
  auth_user
fi
api_paste_code=$( cat - )
curl -0 --show-error \
    …

Если вы не понимаете, что делает сценарий, добавьте во вторую строку set -x , чтобы он печатал трассировку каждой строки по мере ее выполнения.

1
01.07.2016, 05:56
1 ответ

Нужно отфильтровать список по текущему аргументу, так:

COMPREPLY=( $(compgen -W "$(ls ~/Special)" -- "$2") )
1
27.01.2020, 23:47

Теги

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