LINUX.ORG.RU

Возможный глюк при работе с командной строкой


0

2

Чистил сейчас место на диске, удалял старые ненужные исходники. Не через F8, а командой rm, находясь в mc (не спрашивайте зачем). В какой-то момент набрал:

rm -rf deadbeef-0.5.0*

И что-то запнулось. Торопился. И потом то ли решил перейти в домашний, то ли нажал на enter, но в итоге диск зашуршал и система начала что-то делать. Неладное почувствовал через несколько секунд, когда апплет Dropbox выдал сообщение, что каталога Dropbox нет. Сделал тут же killall mc, и запустил mc чтобы посмотреть историю команд, и увидел:

dda@xdepo:/tmp$ rm -rf deadbeef-0.5.0* cd «`printf »%b" '\0057home\0057dda'`"

Как в строку команд попало это:

cd «`printf »%b" '\0057home\0057dda'`"

?? В итоге выполнялась команда удаления всего домашнего каталога :(. Версия mc - 4.8.0.


Да, это побочный эффект вылеченного «озабоченного шелла». Есть в планах вылечить и эту беду, попутно сделав одну комстроку для панелей и сабшелла

Slavaz ★★★★★
()

> не спрашивайте зачем

Лучше спросим тебя, зачем ты пользуешься mc.

blackst0ne ★★★★★
()
Ответ на: комментарий от Slavaz

Спасибо. Опасный побочный эффект. А как воспроизвести? Я не помню, как это вышло, хотелось бы не повторять.

diskin
() автор топика
Ответ на: комментарий от diskin

Да, опасный. Именно поэтому раньше был столь озабоченный шелл: неудобство для пользователей, но безопасно. Сейчас необорот: менее озабоченное, но опасное.

Воспроизвести очень просто: набрать в комстроке под панелями что-либо и потом попытаться перейти в любой каталог.

Slavaz ★★★★★
()
Ответ на: комментарий от Slavaz

> набрать в комстроке под панелями что-либо и потом попытаться перейти в любой каталог.

Ну попробовал, вместо перехода выполнилась команда. Именно та, которую я набрал. А в моем случае, да, я набрал rm -rf deadbeef-0.5.0*, но к этому в конец приписалось нечто: cd «`printf »%b" '\0057home\0057dda'`" - и в итоге удалился домашний каталог. Откуда взялось это printf?

diskin
() автор топика
16 января 2012 г.
Ответ на: комментарий от Slavaz

мда, из за этого косяка я забил на ваш мц

{sh,python} нашевсё. Ня!

anonymous
()
Ответ на: комментарий от samy_volosaty

пока нет, не вылечили. Есть идеи объединить две комстроки: ту, которая под панелями и сабшелловскую. Тогда проблема исчезнет. Но чтобы это сделать, нужно синхронизировать хоткеи сабшелловской компстроки и комстроки под панелями. А это уже нетривиальная задача.

Slavaz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.