sh: есть ли команда для интерактивного редактирования PWD?

Usandogrepcidrcon la lista de bloques de red enlist:

$ echo '100.31.255.4' | grepcidr -f list
100.31.255.4

$ echo '10.31.255.4' | grepcidr -f list
(no output)

Como prueba:

if printf '%s\n' "$ipaddr" | grepcidr -f list >/dev/null; then
    printf '%s is in the list\n' "$ipaddr"
else
    printf '%s is not in the list\n' "$ipaddr"
fi

1
11.07.2019, 20:45
2 ответа

Для bashи любой другой оболочки, поддерживающей readline, вы можете использовать эту функцию

icd() { local a; read -ei "${1:-$PWD}" -p "$FUNCNAME> " a && cd "$a"; }

Использование

icd          # Starts editing with $PWD
icd /root    # Starts editing with /root
3
27.01.2020, 23:22

Это можно сделать хотя бы в zsh. Аналогичная вещь встроена в fzf , где вы можете нажать Alt+C , чтобы перейти в каталог с помощью нечеткого выбора :

.

Вместо fzf можно было бы предположительно использовать предложенный вами icdинструмент.

Я не верю, что это можно сделать в соответствии с -POSIX.

0
27.01.2020, 23:22

Теги

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