подключитесь к ssh и выполните команду, несмотря на смену оболочки после входа в систему

Используйте grep -o theи подсчитайте количество строк, которые будут сгенерированы:

find. -name "*.txt" -type f -printf "%p\t" \
    -exec sh -c 'grep -o "the" "$0" | wc -l' {} \; 

grep -oвозвращает каждое совпадение в каждой строке, в отдельных строках (возвращается одно совпадение на каждую строку вывода ).

Вы можете дополнительно использовать -wiс grep, чтобы включитьThe(регистр -нечувствительность )и исключить совпадения типа theвtheory(полное совпадение слов ).

1
28.02.2020, 12:07
1 ответ

Я нашел решение.

В.bashrc проверьте, находится ли оболочка в интерактивном режиме. Если да, откройте z shell.

if [[ $- == *i* ]]
then
    exec /bin/zsh -l
fi

Таким образом, если вы запустите сценарий bash, который подключается к серверу и выполняет команду, оболочка z не будет запущена.

1
28.04.2021, 23:21

Теги

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