summaryrefslogtreecommitdiff
path: root/pbs-plumb-config
blob: 87cf1897b5f200dbd2a31e949a6130d3e8e6c8e4 (plain)
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
#!/bin/bash

##
# Usage: list FILE
# stdout: A newline-separated list of settings in FILE
##
list() {
	[[ $# != 1 ]] && { usage; return 1; }
	local file=$1
	git config --file "$file" -z --list | awk -vRS='\0' -vFS='\n' '{ print $1 }' &&	return $PIPESTATUS
}

##
# Usage: get FILE SETTING
# stdout: The raw value of SETTING in FILE; *not* terminated by a newline
##
get() {
        [[ $# != 2 ]] && { usage; return 1; }
	local file=$1
	local setting=$2
	git config --file "$file" -z --get "$setting"
}

main() {
	[[ $# < 1 ]] && { usage; return 1; }
	local cmd=$1
	shift

	local file="/etc/libretools.d/pbs.conf"
	case "$cmd" in
		list)
			list "$file" "$@"
			return $?;;
		get)
			get "$file" "$@"
			return $?;;
		*)
			usage
			return 1;;
	esac
}

main "$@"