Как исправить ошибку: «ошибка поиска символа: /usr/local/lib/libQt5DBus.so.5: неопределенный символ. »?

if [ ` ls -1 ~/$acl/sw-list-cisco > /dev/null | wc -l ` -gt 0 ];

Вы перенаправляете вывод ls в /dev/null, поэтому ничего не попадает в wc, и всегда печатается 0. То же самое, если вы попробуете это вручную: ls / >/dev/null | wc -l против ls / | wc -l.

Возможно, вы хотели вместо этого перенаправить errors из ls в /dev/null:

if [ $(ls ~/"$acl/sw-list-cisco" 2>/dev/null | wc -l) -gt 0 ];

(-1 is not требуется, когда вывод идет в канал.)

Но поскольку это всего лишь один файл, [ -f ~/"$acl/sw-list-cisco" ] сделает это проще, чем @Кусалананда уже ответил. Даже если вам нужно подсчитать количество файлов, может быть лучше расширить глобус до массива и подсчитать элементы.

1
13.04.2017, 15:36
1 ответ

После удаления / закомментированного / usr / local / lib в /etc/ld.so.conf.d/libc.conf , вам также необходимо запустить sudo ldconfig для обновления кеша библиотеки.

0
28.01.2020, 01:05

Теги

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