Home > Net >  grep or sed how to get apachectl -v out in bash
grep or sed how to get apachectl -v out in bash

Time:11-30

My code is :

#!/bin/bash

strversion=`apache2ctl -v | awk '{print $3}' | sed  's/(Debian)//g;s/Server//g;s/built//g;s/2022-06-09T04:26:43//g'`

echo ${strversion%}
exit 0

i get this:

Apache/2.4.54

but i will have to look

Apache version 2.4.54

CodePudding user response:

That's because the variable expansion is not quoted. An unquoted variable is subject to Word Splitting (and Filename Expansion)

echo "Apache2 - ${strversion%')'}"
# ...^...........................^

See also Security implications of forgetting to quote a variable in bash/POSIX shells

CodePudding user response:

@glenn jackman

i add this to the end

sed 's/\// version /g'
  •  Tags:  
  • bash
  • Related