#!/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-convert.conf" case "$cmd" in list) list "$file" "$@" return $?;; get) get "$file" "$@" return $?;; *) usage return 1;; esac } main "$@"