Несоответствие в поведении 'комнаты', когда смонтированный объем включен?

Согласитесь с SiegeX (кто избил меня к нему :))

Объяснить поведение:

Bash только запустится в интерактивном режиме, если его станд. в и будет нормальными терминалами. Это не имеет место при передаче по каналу в той начальной команде.

Можно использовать -c опция обеспечить команды, но это также устраняет интерактивный режим.

Если Вы действительно хотите сохранить пользовательское дистанционное управление, просто добавьте некоторые операторы теста/источника в строке rcfile к источнику ~/.bashrc и /etc/bashrc если файлы существуют.

0
07.03.2011, 20:36
1 ответ

В моей системе (Debian; Linux 2.6; rm --version GNU coreutils 8.5 отчетов), является ли dir точкой монтирования, следующее, удаляет файл, но не dir или ссылку, и дает мне ту же ошибку, которую Вы видели:

# mkdir dir && touch dir/file && ln -s dir link
# rm -r link/
rm: cannot remove `link': Not a directory
# ls
dir  link
# ls -l dir
total 0

# mount .../scratch_filesystem dir
# touch dir/file
# rm -r link/
rm: cannot remove `link': Not a directory
# ls
dir  link
# ls -l dir
total 0

Если я следую за Вами правильный, Ваш rm -r link/ команда не удаляет файл, если dir / не является точкой монтирования. Если это так, я думаю, что Вы видите ошибку в rm. Нет никакого серьезного основания для точки монтирования для изменения ее поведения как этот.

Было бы интересно знать что версия rm Вы используете.

3
28.01.2020, 02:29
  • 1
    мой rm та же версия как Ваш –  tshepang 29.01.2011, 09:55
  • 2
    Как нечетный! Что происходит, если Вы делаете env -i /bin/rm -r link/ вместо просто rm -r link/? Т.е. очистите среду и избегайте любых потенциальных псевдонимов оболочки. –  Jander 29.01.2011, 10:11
  • 3
    Посмотрите мой вопрос об обновлении: я теперь получаю то, что Вы получаете. Если это произойдет снова, то я попробую env вещь... Я желаю, чтобы я попробовал, когда у меня все еще была проблема. –  tshepang 07.03.2011, 20:40

Теги

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