Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to strip domain from hostname in bash

Tags:

bash

How do I strip domain from hostname in pure Bash?

Example:

hostname = myserver.site.mydomain.com
output=${hostname#*.*}

will give

site.mydomain.com

while

hostname = myserver.site.mydomain.com
output=${hostname%*.*}

will give

myserver.site.mydomain

I want only "myserver"

Any ideas?

I wish to use pure Bash, not sed, awk, cut, etc.

like image 890
Sharuzzaman Ahmat Raslan Avatar asked Dec 05 '25 04:12

Sharuzzaman Ahmat Raslan


1 Answers

What about:

hostname=myserver.site.mydomain.com
output=${hostname%%.*}

%% should remove longest match from tail.

like image 175
oodograss Avatar answered Dec 07 '25 18:12

oodograss



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!