Потом в первом приближении добил moinmoin, до юзабельного состояния, более менее разобрался с принципом работы, надо ещë найти сил, и сформулировать основные концепции сайта, и можно будет хотя бы здесь дать ссылочку, и начинать что нибудь туда графоманить :)
Кстати на форуме у Лиссяры подкинули сегодня любопытную загадку
Как удалить файл с именем "------ Name (2004) ------.mp3" ?
%rm "------ Name (2004) ------.mp3"
rm: illegal option -- -
usage: rm [-f | -i] [-dIPRrvW] file ...
unlink file
В принципе ничего особо сложного, подобные примеры попадаются наверное в большинстве нормальных книжек, по принципам работы с шелом, в *nix подобных ОС. И даже как не странно именно подобный случай рассмотрен в man rm, причем довольно подробно и с примерами, ну тут пожалуй играет роль то что природа действия не так уж тривиальна, в итоге решение как и ожидалось просто
> tar cvf "------ Name (2004) ------.mp3" ../pkg_desk
a ../pkg_desk
> ls
------ Name (2004) ------.mp3
> rm "./------ Name (2004) ------.mp3"
> ls
>
Ну вот примерно так, хотя может это решение и не блестяще, если кто подскажет почему его стоит переделать, будет интересно послушать. Кстати в примере есть и способ создавать файлы с любым именем, ибо насколько я понял, tar просто берет переданный в качестве имени набор, и присваивает его имени файла :)Но как не странно этот случай продемонстрировал ещë раз что полно людей не хотящих думать и читать man, даже после моей подсказки, но пока без готового решения, человек решил еще повыспрашивать, и потом воспользовался весьма абсурдным советом применить для этого perl, нет ну оно конечно тоже может иметь применение, но по моему излишне.
Кстати тут наткнулся на блог Юрия Воинова, очень интересно пишет, и по моему весьма обоснованно. Хотя статьи не маленькие но почитать стоит, и в том числе что бы не подтверждать тезисы из его статьи "Многабукф. Ниасилил!", тенденция такая и правда есть, да что греха таить, я сам иногда ленюсь, но стараюсь исправится, там у него ещë хватает статей и философского характера, и весьма своеобразных взглядов на современные технические решения, да и просто про Solaris и ZFS, а главное их "живое" применение там можно прочесть много интересного, так что весьма рекомендую. побольше бы таких блогов, глядишь и как то стало бы ..., в общем лучше больше :)
touch -- "----- Name (2004) ------.mp3"
ОтветитьУдалитьrm -- "----- Name (2004) ------.mp3"
Что я сделал не так? Или эта проблема характерна именно для FreeBSD?
Да ничего.
ОтветитьУдалитьЭта "проблема" характерна для шела, а ты просто применил второй способ, в принципе мы там на форуме вроде уже все дообсуждали в том числе и преимущества -- и ./ ;)
shell парсит не опции, а агрументы. shell'у параллельно, что ты потом с **argv внутри своей программы будешь дальше делать. А парсит опции из **argv почти всегда getopt(3) или getopt_long(3).
ОтветитьУдалитьThe interpretation of options in the argument list may be cancelled by the option ‘‐‐’ (double dash) which causes getopt() to signal the end of argument processing and return -1. When all options have been processed(i.e., up to the first non‐option argument), getopt() returns -1.
У sh(1) кстати есть встроенная команда для парсинга опций: getopts
Неужели ты ее никогда не использовал? Вот простенький пример поисковика из консоли с использованием getopts
http://pastebin.ca/1507717
спасибо что не прикрутил reddit и /.
ОтветитьУдалитьТеперь буду знать каких сайтов избегать.
про мптриху - нда уж, никсы не очень много ограничений накладывают на имена файла, напомнило как в контексте линухи обсуждалось про перенос строки в имени файла, а потом долго пытались придумать нафига такое надо-то. Вот и тут: можно - можно, нужно - ээээ... +)
ОтветитьУдалить2 Анонимный
ОтветитьУдалитьК сожалению тут больше теоретик, так как скриптов пока пишу крайне мало, и в основном так всякую чепуху, и отчасти поэтому весьма частенько путаю термины, и выходит что написано не совсем даже то что подумалось, но периодически стараюсь исправится :)
pastebin.ca что то недоступен :( ладно почитаю маны и гугл.
2 LG.BALUKATION
Ну смысл тут обычно в том что оно уже появилось, и надо убить, а уж почему это другой вопрос :)
Немного уточню этот пример с нестандартным именем, я привел не как прям уж слишком интересный, а всего лишь как пример того что множество людей не хотят знать как что работает, и стремятся остаться просто потребителями, следующими точным инструкциям.
ОтветитьУдалитьСам иногда эти грешен, но стараюсь исправляться, и видя что явление довольно массовое становится жутко обидно.
я удаляю такие файлы через mc и не парюсь :)
ОтветитьУдалить