-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathecho-command-for-each-domain.bash
More file actions
executable file
·57 lines (55 loc) · 1.6 KB
/
Copy pathecho-command-for-each-domain.bash
File metadata and controls
executable file
·57 lines (55 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/bin/bash
# script echos back command with $domain appended
# TODO: implement a replacement string in COMMAND for alternate placement of $domain
#sample use: sudo bash ./echo-command-for-each-domain.bash -c "sudo bash ./remove-all-dnsrecords-from-domain.bash -x -d "
QUIET=false # Not Implemented
COMMAND="" # initialize COMMAND
USER="" # initialize USER
EXECUTE=false # Not Yet Implemented
showhelp(){
echo "Hi! Please specify options."
echo
echo "Syntax: echo-command-for-each-domain.bash -c command [-q|u|h]"
echo "options:"
echo "-h Print this usage Help."
echo "-q Run quietly."
echo "-u Optional - USER to su as"
echo "-x Execute - DONT ECHO, JUST EXECUTE)."
echo
}
fetchDomainsList(){
./fetch-domains-list.bash -q
}
while getopts "hquxc:" option; do
case $option in
h) # display Help
showhelp
exit 1;;
q) # quiet
QUIET=true;;
u)
USER=$OPTARG;;
x) # execute, otherwise, dry-run
EXECUTE=true;;
c) # Enter a name
if [[ ! -z "$OPTARG" ]];then
COMMAND=$OPTARG
else
echo "Error: Please specify a COMMAND after the -c parameter."
exit 22
fi;;
\?) # Invalid option
echo "Error: Invalid option"
exit 1;;
esac
done
fetchDomainsList
# run LOCALLY ON MACBOOK in Systems Administration/cloudflare-bash-scripts
domianListFile="data/domains.list"
while read domain; do
if [ "$USER" = "" ]; then
echo "$COMMAND $domain"
else
echo "su - $USER -c '"$COMMAND $domain"'"
fi
done < $domianListFile