Каталог отпуска с помощью ls

[

] Предупреждения "Variable set but not used" носят информационный характер.[

] [

]Согласно [] официальной документации[], []-Wunused-but-set-variable[] контролирует поведение:[

] [

] [

]Warn[ing] всякий раз, когда назначается локальная переменная, но в остальном неиспользуемая (кроме ее объявления). Это предупреждение включено командой []-Wall[].[

] [

] [

]Цель - поймать ситуацию, когда программист присваивает переменной значение, а затем никогда больше ничего с ней не делает. Ядро довольно специфично в том, что в глубоких окопах низкоуровневого программирования на операционной системе даже я могу представить себе ситуации, когда делать что-то подобное может быть совершенно законно и даже [] необходимо[] для достижения результата, который вам нужен.[

] [

] Если оператор присваивает переменную действительно не нужен, компилятор, скорее всего, оптимизирует его.[

] [

]Итог, если только вы не разработчик, то игнорировать данный класс предупреждений должно быть безопасно. Если Вы - разработчик, то следует подумать, необходимо ли присваивание. Если переносимость на не-GCC компиляторы не является приоритетом, то следует подумать о добавлении []__attribute__((unused))[] в декларацию для подавления предупреждения для этой переменной; см. также []Variable Attributes[].[

].

1
27.04.2014, 17:01
1 ответ
[115958] Можно либо использовать [116337]-I[116338] для игнорирования каталога, как предложил Стефан [116339][116340], либо, лучше, вообще избежать использования [116341]ls[116342]. Просто используйте [116343]find[116344], что гораздо лучше для такого рода вещей и может изящно работать со странными именами файлов:

Или, для более безопасного подхода, который может корректно работать с новыми строками в именах файлов:

или, для не-GNU [116345]find[116346]:

Если вы можете взять [116347]node_modules[116348] в качестве части имени файла и не хотите его пропускать, используйте вместо этого следующее:

2
27.01.2020, 23:38

Теги

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