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" ]
сделает это проще, чем @Кусалананда уже ответил. Даже если вам нужно подсчитать количество файлов, может быть лучше расширить глобус до массива и подсчитать элементы.
После удаления / закомментированного / usr / local / lib
в /etc/ld.so.conf.d/libc.conf
, вам также необходимо запустить sudo ldconfig
для обновления кеша библиотеки.