Невозможно ввести закрывающую угловую скобку в Kali Linux [закрыто]

Это можно сделать с помощью команды exit. Из man bash:

exit [n]

Заставить оболочку выйти со статусом n. Если n опущено, статус выхода соответствует статусу последней выполненной команды. Ловушка на EXIT выполняется до завершения работы оболочки.

if grep -q 'pattern' '/path/to/file'
then 
    echo "found" 
else
    echo "not found"
    exit
fi

Примечание: Точка с запятой в конце первой строки не нужна, если только вы не размещаете дополнительные команды в той же строке, например,

if grep -q 'pattern' '/path/to/file'; then
    echo "found" 
else
    echo "not found"
    exit
fi
1
17.12.2016, 15:23
2 ответа

Как оказалось, без моего ведома было глобальное сочетание клавиш, сопоставленное с > , которое не работало, и поэтому я получал это сообщение об ошибке. Пришлось отредактировать ярлыки и снять.

0
28.01.2020, 01:06

Я вижу, что вы разрешили свою конкретную ситуацию, но частичным решением вашего общего вопроса является ввод

printf "\076\n" | tee gt

Это создаст файл под названием gt, который содержит > (символ больше-чем) и новую строку (а также отобразит эти символы на экране).  Затем вы можете прочитать этот файл в файле исходного кода, скопировать и вставить.

Вы можете использовать аналогичную технику, чтобы компенсировать Недоступность клавиш > при вводе команд оболочки.  Если вы хотите выполнить команду и перенаправить ее вывод в файл, например,

date > current_time

просто do

date | tee current_time

Если вам не нравится, что вывод выводится на экран (в дополнение к тому, что он попадает в файл), определите эту функцию

write_to()
{
    if [ "$#" = 0 ]
    then
        echo "Usage: write_to file ..."
        return
    fi
    tee "$@" > /dev/null
}

в ~/.bashrc или где-нибудь еще.  Она позволяет вам набирать такие вещи, как

date | write_to current_time
ps | write_to file1 file2

Чтобы получить эффект >>, напишите функцию append_to, которая использует tee -a.  И, возвращаясь к моей самой первой команде: если по какой-то причине команда printf недоступна, вы можете сделать

echo a | tr a "\076" | tee gt
0
28.01.2020, 01:06

Теги

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