Почему стандартный вывод из первой команды в этом канале не обрабатывается?

Если вы просто хотите изменить права доступа к каталогу:

sudo chown heiupa:heiupa hieupa

Если вы хотите, чтобы он был рекурсивным, влияющим на все файлы внутри, запустите вместо этого:

sudo chown -R heiupa:heiupa hieupa

Чтобы удалить весь каталог hieupalocal, включая содержимое.

sudo rm -r hieupalocal

Если вам будет предложено «спуститься в защищенный каталог для записи -», просто нажмите «y» для подтверждения. В качестве альтернативы, чтобы пропустить подсказки, вы можете «форсировать» rmс помощью :

.
sudo rm -rf hieupalocal
3
07.04.2020, 02:24
2 ответа

Как вы заметили, опция оболочкиMULTIOSв zshделает это возможным. В оболочке bashаналогичной встроенной возможности нет.

В bashвы получите такое же поведение (для этого конкретного примера; см. комментарий дяди Билли ниже)из

echo foo | { cat; cat bar; }

или

echo foo | cat - bar

Обе эти правые части сначала читают свои стандартные входные данные перед чтением bar.

5
28.04.2021, 23:18

Я потратил еще некоторое время, изучая это, и обнаружил, что поведение zshсвязано с опциейMULTIOS, которая включена по умолчанию. bashне имеет сопоставимого варианта, поэтому такое поведение характерно для zsh.

4
28.04.2021, 23:18

Теги

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