Add an abstract script for adding profile settings

This commit is contained in:
Manuel Thalmann 2024-03-20 22:05:51 +01:00
parent 12b020496c
commit 7c3a691794
2 changed files with 32 additions and 21 deletions

View file

@ -1,27 +1,11 @@
#!/bin/bash #!/bin/bash
pushd "${BASH_SOURCE%/*}" > /dev/null;
. "../../Scripts/profile-base.sh";
function addBashProfile() { function addBashProfile() {
name="$1"; name="$1";
title="$2"; title="$2";
addProfileStatement "$name" "$title" "/bin/bash" "/etc/bash/conf.d" "${@:3}";
if [ -t 1 ]
then
statement="$(cat)";
else
statement="${@:3}";
fi;
contextRoot="$(mktemp -d)";
pushd "$contextRoot" > /dev/null;
{
echo '#!/bin/bash';
echo "# $title";
echo "$statement";
} > "profile.sh";
sudo install -Dm755 profile.sh /etc/bash/conf.d/$name.sh
popd > /dev/null;
rm -rf "$contextRoot";
} }
popd > /dev/null;

View file

@ -0,0 +1,27 @@
function addProfileStatement() {
name="$1";
title="$2";
shellBin="$3";
profileRoot="$4";
if [ -t 1 ]
then
statement="$(cat)";
else
statement="${@:5}";
fi;
contextRoot="$(mktemp -d)";
pushd "$contextRoot" > /dev/null;
{
echo '#!'"$shellBin";
echo "# $title";
echo "$statement";
} > "profile.sh";
sudo install -Dm755 profile.sh "$profileRoot/$name.sh"
popd > /dev/null;
rm -rf "$contextRoot";
}