80 lines
2 KiB
Bash
80 lines
2 KiB
Bash
# create toolbx container with default or specified name.
|
|
# usage: tb [NAME]
|
|
tb()
|
|
{
|
|
local name="$1"
|
|
|
|
# set default name.
|
|
if [[ "$name" = "" ]]; then
|
|
name="main"
|
|
fi
|
|
|
|
# start container or run command inside it if specified.
|
|
if [[ "$2" = "" ]]; then
|
|
# set hostname.
|
|
toolbox --container "$name" run sudo hostname "${HOSTNAME}-${name}"
|
|
|
|
# try to enter or create if failed.
|
|
toolbox enter "$name" || {
|
|
# create container.
|
|
toolbox create "$name"
|
|
|
|
# initialize container.
|
|
toolbox --container "$name" run sudo hostname "${HOSTNAME}-${name}"
|
|
toolbox --container "$name" run sudo rm /root/.bashrc
|
|
toolbox --container "$name" run sudo ln -s $HOME/.linux /root/.linux
|
|
toolbox --container "$name" run sudo ln -s /root/.linux/bash/bashrc.sh /root/.bashrc
|
|
|
|
# enter container, finally.
|
|
toolbox enter "$name"
|
|
}
|
|
else
|
|
# set hostname.
|
|
toolbox --container "$name" run sudo hostname "${HOSTNAME}-${name}"
|
|
|
|
# run command inside container.
|
|
toolbox --container "$name" run ${@:2}
|
|
fi
|
|
}
|
|
|
|
# remove toolbx container with default or specified name.
|
|
# usage: tbk [NAME]
|
|
tbk()
|
|
{
|
|
local name="$1"
|
|
|
|
# set default name.
|
|
if [[ "$name" = "" ]]; then
|
|
name="main"
|
|
fi
|
|
|
|
# stop and remove podman container.
|
|
podman stop "$name" > /dev/null && podman rm "$name" > /dev/null
|
|
}
|
|
|
|
# install rpm-fusion repository.
|
|
# usage: tb_rpmfusion [NAME]
|
|
tb_rpmfusion()
|
|
{
|
|
local name="$1"
|
|
|
|
# set default name.
|
|
if [[ "$name" = "" ]]; then
|
|
name="main"
|
|
fi
|
|
|
|
# run dnf inside container.
|
|
toolbox --container "$name" run sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
|
|
}
|
|
|
|
# list all containers.
|
|
alias tbl="toolbox list -c"
|
|
|
|
# autocomplete.
|
|
_tb_containers()
|
|
{
|
|
_autocomplete_first "$(toolbox list -c | sed -e '1d' | awk '{ print $2 }')"
|
|
}
|
|
|
|
complete -F _tb_containers tb tbk tb_rpmfusion
|