case $HOSTNAME in (*q20*) alias a='cd ~/a1';; (*) alias a='cd ~/a99'; esac
]
[] Вы получаете ошибку, так как пробелы пропущены после [][[[
] и так как []-z[
] нужно проверить, пустая ли конкретная строка. [][[[
] является нестандартной функцией, как она себя ведет, зависит от версии []bash[
]. Структура []case[
] является POSIX и, как написано, будет работать в любом POSIX shell'е и в любой версии []bash[
]. [
] В общем, также лучше держаться подальше от таких вещей, как []cmd1 && cmd2 || cmd3[
], так как она обычно не делает то, что вы хотите, если []cmd2[
] не получится.[
] Кроме того, я не вижу смысла ставить все это на одну строчку. Это что-то, что пойдет в какой-нибудь rc-файл, верно? Тогда он будет намного более разборчивым, если на нескольких строках.[
] [case $HOSTNAME in
(*q20*) alias a='cd ~/a1';;
(*) alias a='cd ~/a99'
esac
]
[]более разборчивым и переносимым, чем:[
] [if [[ $HOSTNAME =~ q20 ]]; then
alias a='cd ~/a1'
else
alias a='cd ~/a99'
fi
]
[]сам по себе более разборчивым (и более правильным), чем:[
] [[[ $HOSTNAME =~ q20 ]] &&
alias a='cd ~/a1' ||
alias a='cd ~/a99'
]
[]сам по себе более разборчивым, чем[
] [[[ $HOSTNAME =~ q20 ]] && alias a='cd ~/a1' || alias a='cd ~/a99'
] Вопрос оказался не допусканиями файлов / папок, как таковой, но контекст безопасности не -Работающий домен.
Из моего ограниченного понимания, для того, чтобы Apache для обслуживания файлов файлов / папок необходимо настроить для выполнения под контекстом httpd_sys_content_d
.
Моя «ошибка» была неработающая область, была MV'd в папке содержимого Apache с моей области разработки и не имела правильного контекста безопасности, поэтому Apache не может служить файлы. Это было подтверждено бегом LS -Z
на папке Public_html
Public_html папку и подпапки.
Я использовал Chcon -R -T httpd_sys_content_t public_html /
, чтобы установить правильный контекст безопасности, и теперь Apache обслуживает все.
chcon -R -t httpd_sys_content_t <Your_Document_Root_Dir>
Должно сработать