Grep игнорирует часть моего шаблона?

Что это значит? Что такое "Выход 2"?

Это - статус выхода ls. Посмотрите человека для ls:

   Exit status:
       0      if OK,

       1      if minor problems (e.g., cannot access subdirectory),

       2      if serious trouble (e.g., cannot access command-line argument).

Я предполагаю, что причина состоит в том, что у Вас есть много из *conf файлы в /etc и не *conf файлы в/usr.Действительно? ls -ld /usr/*conf; имел бы тот же эффект.

Таким образом, Если я делаю на своем компьютере ls для существующего файла:

ls main.cpp; echo $?
main.cpp
0

И для файла, который не делает, существует:

ls main.cppp; echo $?
ls: cannot access main.cppp: No such file or directory
2

Или как фоновый процесс ls для существует файл, который не делает:

>ls main.cppp &
[1] 26880
ls: cannot access main.cppp: No such file or directory
[1]+  Exit 2                  ls main.cppp
3
11.06.2015, 12:15
1 ответ

Git записывает свои ошибки в stderr, поэтому вы не пропустите их, если перенаправите обычный вывод (в файл или, в вашем случае, канал это в программу).

Вы можете попробовать:

zenity --class=CheckGit --info title="Check git updates" --text="\n \
<b>MY-GIT-REPO:</b> $(cd "/home/ME/.local/share/git/MY-GIT-REPO" && git pull 2>&1 | grep -E '(up-to-date|changed|error)')"
3
27.01.2020, 21:22

Теги

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