Artem Chuprina <r...@lasgalen.net> wrote:
> On 29 September 2019 9:50:02 pm GMT+02:00, "Andrey Jr. Melnikov" > <temnota...@gmail.com> wrote: > >> При этом что в шелле есть логические операции, что в командной строке > >> test есть логические операции и они РАЗНЫЕ. > >Витус, как так ЛОГИЧЕСКИЕ операции могут быть разными? AND и OR - они и в > >африке AND и OR. > Я, конечно, зануда, но должен заметить, что они у нас ни хрена не логические. Вы мне тут оба-двое зубы не заговаривайте. > Они вычислительные, и их результат сильно зависит от порядка записи операндов. Ух, 1 & 0 = 0 таки не 0 & 1 = 0 ? У вас реальность не подтекает? И в приведенном баге - красиво всё - там операнд выглядит как 'pcmanfm --help >/dev/null 2>&1 -a is_file_url_or_path "$1"' и всё зависит от того, есть ли pcmanfm на машине и умеет ли pcmanfm ключик -a или нет, а если нет - то он зовет exit(1) или нет. А стройную картину оттеняет '>/dev/null 2>&1' в середине, замыливая глаз. Прекрасная иллюстрация того, как выстрелить себе в ногу. > В случае шелла (самого шелла, а не builtin [) куда сильнее, чем в случае test, > поскольку тесты test не обладают побочными эффектами (ну, хотя бы по идее ??? > по > факту-то тест на наличие файла на автомонтируемой файловой системе ими > обладает). А это то тут всё причём? test на наличие файла - показывает его наличие или отсутствие на момент выполнения. Все остальные "побочные" эффекты - ни к test'у ни к shell'у не относятся. Хочешь их учесть - пиши свой test с детектом точек монтирования и задержками.