Lo que está tratando de hacer es un alias de servidor aquí.
Opción A (sucio feo)
Debe editar el archivo /etc/hosts
para este
por ej.
${IP} foo foo.com
entonces podrás
curl foo -H 'Host: foo.com'
El encabezado del host es necesario ya que el alias de vhost es foo.com
Opción B (limpio y agradable)
Cree un alias de servidor, dependiendo de su servidor web, puede ser una configuración diferente.
En mi apache httpd config utilizo:
/etc/httpd/sites-available
-contiene la configuración para cada host virtual
/etc/httpd/sites-enabled
-contiene los enlaces simbólicos a los archivos de configuración disponibles de los sitios -, de esta manera puedo activar/desactivar vhosts sin modificar o cambiar el nombre de los archivos en los sitios -disponibles,Solo necesito desvincularme para desactivar un vhost
y he modificado la conf
/etc/httpd/conf/httpd.conf
[...]
IncludeOptional sites-enabled/*.conf`
[...]
así que digamos que tenía
/etc/httpd/sites-available/foo.com.conf
y una versión con enlace simbólico en/etc/httpd/sites-enabled/foo.com.conf
luego haz
cp /etc/httpd/sites-available/foo.com.conf /etc/httpd/sites-available/foo.conf
modifique foo.conf
para que coincida con este:
[...]
ServerName foo
ServerAlias foo
[...]
y luegoln -s /etc/httpd/sites-available/foo.conf /etc/httpd/sites-enabled/foo.conf
finalmente reiniciar apache:
systemctl restart httpd
Nota todas estas acciones pueden requerir root o sudo (usuario avanzado)
Suponiendo que su sistema tenga un servidor DNS, no se necesitaría nada más; de lo contrario, el archivo /etc/hosts también deberá modificarse, pero cuando realice curl no necesitará pasar un encabezado de host ya que el alias de vhost será foo.
es decir, en este caso curl http://foo
funcionará bien, mientras que en la opción A también necesita un encabezado de host.
Ответ:
Ознакомьтесь с ответом здесь о переполнении стека с использованием базового имениhttps://stackoverflow.com/a/10124347/879882
basename /path/to/some/file.txt
вернет только имя файла. Подробнее можно прочитать наman basename
Если вы хотите получить только имя файла без суффикса, вы можете просто заполнить basename -s.txt /path/to/some/file.txt
, и суффикс также будет удален.
Другой вариант:
Вы могли бы сделать awk 'BEGIN{FS="/"} {print $NF}
а для этой возможности отказаться от суффикса просто| awk 'BEGIN{FS="."} {print $1}'