Ну, моя проблема была немного сложнее, и моя папка сборки на самом деле была символической ссылкой. В итоге я делаю следующее:
# Ignore build folder from the workplace and the package.
# Keep the src-generated sync so you build only on one side.
ignore = Path */build/*
ignore = Path */build
follow = Path */*/*/build
ignore = Path */*/*/build/*
ignorenot = Path */*/*/build/generated-src
Фокус в том, что Путь
принимает точныйпуть, так что глобусная часть касается только именования, и вам нужно указать точную глубину Папка. Таким образом, ignore = Path */*/*/build/*
будет игнорировать все в папке, но ignorenot = Path */*/*/build/generated-src
будет работать как ожидал. То же самое с Name
, как я делал раньше, не работает.
Судя по вашему комментарию, вывод, который вы видите, представляет собой содержимое файлов с односимвольным именем файла, совпадающим с именем первого из таких файлов. Причина в том, что символ ?
в вашей команде grep расширяется оболочкой перед выполнением.
Таким образом, ваша команда ps делает то, что должна, но grep полностью игнорирует этот ввод, предпочитая grepping файлам в командной строке.
Продемонстрируйте это сами, выполнив что-то вроде:
mkdir ~/tempdir
cd ~/tempdir
ps -eo 'tty,pid,comm' | grep ?
, который создаст пустой каталог (без файлов в нем), что затем позволит ?
не раскрыться и передать непосредственно в grep . Затем создайте два файла, подобные этому:
touch a
echo thisisfilebwithana > b
, а затем повторно запустите только grep, например:
grep ?
, и вы увидите
thisisfilebwithana
, потому что grep
видел это:
grep a b
который он интерпретировал как «покажи мне все строки из файла b, содержащие букву« а »».
Вместо этого вы, вероятно, захотите избежать знака вопроса:
ps -eo 'tty,pid,comm' | grep \?
или
ps -eo 'tty,pid,comm' | grep '?'