Как насчет использования switch
или case
вот так:
#!/bin/sh
v="information"
case $v in
*f*)
echo "found \"f\" in ${v}";;
*)
echo "no match found in ${v}"
esac
exit
Обратите внимание, что если игла хранится в переменной, важно заключить ее в кавычки, чтобы она не воспринималась как образец:
case $haystack in
*"$needle"*) echo match
esac
Без него, если бы $needle
было, например, *
или ?
, это соответствовало бы любому стогу сена(и не -пустому стогу соответственно ).
В любом случае $needle
не обязательно должен быть одиночным символом. Он будет работать с любой строкой.
Во многих оболочках это будет работать даже для любой последовательности не -нулевых байтов, даже если они не образуют допустимых символов, но не все будут разбивать символы. Например, байт 0xc3 не может быть найден таким образом в строке é
, закодированной в UTF -8 (0xc3 0xa9 )в некоторых реализациях. И наоборот, некоторые оболочки могут найти i
внутри ξ
, если локаль имеет кодировку BIG5 -HKSCS, где ξ
закодировано как 0xa3 0x69 (, а i
равно 0x69, как в ASCII ).
«Это потому, что HTTPD _ROOT и DocumentRoot, указанные в файле httpd.conf, похоже, указывают на каталог внутри /nix/store»,
Возможно. Также может быть так, что файла с именем index.html
на самом деле нет ни в одном из так называемых -"DocumentRoot"
httpd.conf
имеет приоритет. Таким образом, любой файл за пределами должен быть включен из этого файла, чтобы изменить snazas внутри httpd.conf
.
Любой морфологический ответ потребует от вас предоставления так называемого -«некоторого дополнительного описательного текста», о котором вы упомянули. Этот дополнительный текст, как правило, представляет собой описание , почему произошла эта неудача.
Наконец; зачем вам пытаться противоречить тому, что вы уже определили в httpd.conf
? В текущем контексте это не имеет смысла.
ХТХ