Если вы хотите проверить, не является ли строка пустой и , если она «нулевая», лучшим синтаксисом будет:
if [ -n "$ACCESS_TOKEN" ] && [ "$ACCESS_TOKEN" = "null" ]
then
exit 1
fi
Как правильно утверждает @Tomaz, вы не можете проверить обе предпосылки одновременно, используя синтаксис Bash.
Как также указывает @Kusanalanda, первый тест не имеет значения и должен был просто указать/объяснить if
использование. Следуя логике, если $ACCESS _TOKEN снова проверяется строка "null", то это уже подразумевается, что строка не может быть пустой, поэтому на самом деле это можно переписать как:
if [ "$ACCESS_TOKEN" = "null" ]
then
exit 1
fi
Нет, файловых дескрипторов для таких вещей вообще не существует. Однако есть /proc/PID/exe
, которые показывают, какой двоичный файл запущен, и /proc/PID/maps
и /proc/PID/map_files/
, которые показывают, что и где отображается. Кроме того, даже если бы этих вещей не существовало, ядро все равно могло бы их отслеживать. Не все в памяти ядра доступно через /proc
.