Проверка, существует ли строка в файле

export clv="/third/party/city of las vegas"

такой же, как

export clv=/third/party/city\ of\ las\ vegas

в любом случае, вам все равно нужно процитировать переменную.

cd "$clv"

Оболочка нарушит неотесываемые расширения по умолчанию Whitespace. Вспоминая к цитатам переменных в контекстах, как это, является более обычным и, вероятно, более безопасная практика.

Обратите внимание, что «Один \ два» (пытаясь поставить сбежавшее пространство в кавычках) будет относиться буквально \ .

0
27.10.2015, 03:26
3 ответа

вы можете проверить, установлена ли переменная в bash, используя:

if [[ -z "$cores" ]]
then
    echo "not set"
else
    echo "set"
fi

Это проверит, установлена ли переменная $cores или нет. то есть, если $cores равна нулю, то будет отображено "не установлена", иначе "установлена". На самом деле .bashrc не исходит автоматически для неинтерактивных оболочек, например, те, которые начинаются, когда вы выполняете скрипт оболочки. Поэтому вы поместите . .bashrc рядом с началом вашего .bash_login файла, чтобы убедиться, что .bashrc исходит как для интерактивных оболочек, так и для интерактивных оболочек, не входящих в систему.

.
-2
28.01.2020, 02:37

Вместо того, чтобы спрашивать у пользователя, сколько ядер в системе, почему бы просто не спросить у системы? Это лучше, потому что это не связано с записью в файл, принадлежащий пользователю. Смотрите что-то вроде this, который использует 'getconf' для запроса переменной NPROCESSORS_CONF. Или для других систем, идеи, представленные здесь могут быть полезны - используя sysctl или grep поверх /proc/cpuinfo, чтобы найти количество ядер.

.
4
28.01.2020, 02:37

Попробуйте следующее:

'awk /\$core/ { print }'
0
28.01.2020, 02:37

Теги

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