Files
lnx-arch/scripts/990_comment_add_remove.sh
2024-08-26 16:51:33 -05:00

38 lines
1020 B
Bash
Executable File

#!/usr/bin/bash
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# what: remove a comment from a single line, in a config file
# author: klevstul
# started: mar 2021
#
# requires: n/a
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
if [ "$EUID" -eq 0 ]
then echo "error: do not run as 'root'"
exit
fi
this_file_name=`basename "$0"`
if [ $# -ne 4 ]; then
echo "usage: '$this_file_name [{add, remove}] [COMMENT_CHARACTER] [PATTERN] [CONFIG_FILE]'"
exit 1
fi
operation=$1
comment_character=$2
pattern=$3
config_file=$4
# https://stackoverflow.com/questions/24889346/how-to-uncomment-a-line-that-contains-a-specific-string-using-sed
# add comment character (comment out)
if [ $operation == "add" ]; then
sed -i "/$pattern/s/^$comment_character*/$comment_character/g" $config_file
fi
# remove comment character (uncomment)
if [ $operation == "remove" ]; then
sed -i "/$pattern/s/^$comment_character*//g" $config_file
fi