Compare commits
7 commits
3b6803e2da
...
64c65167ba
Author | SHA1 | Date | |
---|---|---|---|
64c65167ba | |||
86902bea36 | |||
9838ed3a6c | |||
ae496a66af | |||
1f8d5b0a86 | |||
117d073138 | |||
fb8ff9af61 |
1 changed files with 36 additions and 29 deletions
65
cd.sh
65
cd.sh
|
@ -38,7 +38,7 @@ cd_main () {
|
||||||
|
|
||||||
cd_set_environment_variables () {
|
cd_set_environment_variables () {
|
||||||
cd_step "Set environment variables"
|
cd_step "Set environment variables"
|
||||||
# operating system
|
# set operating system id
|
||||||
CD_OS_ID="$(cd_grep_os ID)"
|
CD_OS_ID="$(cd_grep_os ID)"
|
||||||
case "${CD_OS_ID}" in
|
case "${CD_OS_ID}" in
|
||||||
"almalinux") CD_OS_ID="${CD_OS_ALMA}" ;;
|
"almalinux") CD_OS_ID="${CD_OS_ALMA}" ;;
|
||||||
|
@ -50,6 +50,7 @@ cd_set_environment_variables () {
|
||||||
"ubuntu") CD_OS_ID="${CD_OS_UBUNTU}" ;;
|
"ubuntu") CD_OS_ID="${CD_OS_UBUNTU}" ;;
|
||||||
*) cd_error_os "CD_OS_ID" ;;
|
*) cd_error_os "CD_OS_ID" ;;
|
||||||
esac
|
esac
|
||||||
|
# set operating system version
|
||||||
case "${CD_OS_ID}" in
|
case "${CD_OS_ID}" in
|
||||||
"${CD_OS_ALMA}"|"${CD_OS_ARCH}"|"${CD_OS_FEDORA}"|"${CD_OS_ROCKY}")
|
"${CD_OS_ALMA}"|"${CD_OS_ARCH}"|"${CD_OS_FEDORA}"|"${CD_OS_ROCKY}")
|
||||||
CD_OS_VERSION=$(cd_grep_os VERSION_ID \
|
CD_OS_VERSION=$(cd_grep_os VERSION_ID \
|
||||||
|
@ -63,6 +64,7 @@ cd_set_environment_variables () {
|
||||||
CD_OS_VERSION="$(cd_grep_os VERSION_CODENAME)"
|
CD_OS_VERSION="$(cd_grep_os VERSION_CODENAME)"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
# check operating system version
|
||||||
case "${CD_OS_ID}" in
|
case "${CD_OS_ID}" in
|
||||||
"${CD_OS_ALMA}"|"${CD_OS_ROCKY}")
|
"${CD_OS_ALMA}"|"${CD_OS_ROCKY}")
|
||||||
case "${CD_OS_VERSION}" in
|
case "${CD_OS_VERSION}" in
|
||||||
|
@ -106,9 +108,10 @@ cd_set_environment_variables () {
|
||||||
CD_DNS_FILE="/etc/resolv.conf"
|
CD_DNS_FILE="/etc/resolv.conf"
|
||||||
CD_PKG_CA="ca-certificates"
|
CD_PKG_CA="ca-certificates"
|
||||||
CD_PKG_GIT="git"
|
CD_PKG_GIT="git"
|
||||||
|
CD_PYTHON_ALIAS="python3"
|
||||||
cd_split
|
cd_split
|
||||||
cd_echo "CD_DNS_FILE" "CD_PKG_CA" "CD_PKG_GIT"
|
cd_echo "CD_DNS_FILE" "CD_PKG_CA" "CD_PKG_GIT" "CD_PYTHON_ALIAS"
|
||||||
# shared
|
# set ca command & root
|
||||||
case "${CD_OS_ID}" in
|
case "${CD_OS_ID}" in
|
||||||
"${CD_OS_ALMA}"|"${CD_OS_FEDORA}"|"${CD_OS_ROCKY}")
|
"${CD_OS_ALMA}"|"${CD_OS_FEDORA}"|"${CD_OS_ROCKY}")
|
||||||
CD_CA_ROOT="/etc/pki/ca-trust/source/anchors"
|
CD_CA_ROOT="/etc/pki/ca-trust/source/anchors"
|
||||||
|
@ -129,7 +132,7 @@ cd_set_environment_variables () {
|
||||||
esac
|
esac
|
||||||
cd_split
|
cd_split
|
||||||
cd_echo "CD_CA_ROOT" "CD_CMD_CA"
|
cd_echo "CD_CA_ROOT" "CD_CMD_CA"
|
||||||
# common
|
# set package manager
|
||||||
case "${CD_OS_ID}" in
|
case "${CD_OS_ID}" in
|
||||||
"${CD_OS_ALMA}"|"${CD_OS_FEDORA}"|"${CD_OS_ROCKY}")
|
"${CD_OS_ALMA}"|"${CD_OS_FEDORA}"|"${CD_OS_ROCKY}")
|
||||||
CD_PM="${CD_PM_DNF}"
|
CD_PM="${CD_PM_DNF}"
|
||||||
|
@ -253,7 +256,7 @@ Dir::Etc::SourceParts \"\";
|
||||||
esac
|
esac
|
||||||
cd_split
|
cd_split
|
||||||
cd_echo "CD_URL_DEFAULT" "CD_URL_CHOSEN"
|
cd_echo "CD_URL_DEFAULT" "CD_URL_CHOSEN"
|
||||||
# python
|
# set python command & package
|
||||||
case "${CD_OS_ID}" in
|
case "${CD_OS_ID}" in
|
||||||
"${CD_OS_ALMA}"|"${CD_OS_ROCKY}")
|
"${CD_OS_ALMA}"|"${CD_OS_ROCKY}")
|
||||||
CD_PYTHON_COMMAND="python3.11"
|
CD_PYTHON_COMMAND="python3.11"
|
||||||
|
@ -286,6 +289,7 @@ Dir::Etc::SourceParts \"\";
|
||||||
CD_PYTHON_PACKAGE="python3"
|
CD_PYTHON_PACKAGE="python3"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
# set python packages
|
||||||
case "${CD_OS_ID}" in
|
case "${CD_OS_ID}" in
|
||||||
"${CD_OS_ALMA}"|"${CD_OS_FEDORA}"|"${CD_OS_ROCKY}")
|
"${CD_OS_ALMA}"|"${CD_OS_FEDORA}"|"${CD_OS_ROCKY}")
|
||||||
CD_PYTHON_PACKAGES="/usr/lib64/${CD_PYTHON_COMMAND}/site-packages"
|
CD_PYTHON_PACKAGES="/usr/lib64/${CD_PYTHON_COMMAND}/site-packages"
|
||||||
|
@ -294,7 +298,7 @@ Dir::Etc::SourceParts \"\";
|
||||||
CD_PYTHON_PACKAGES="/usr/lib/${CD_PYTHON_COMMAND}/site-packages"
|
CD_PYTHON_PACKAGES="/usr/lib/${CD_PYTHON_COMMAND}/site-packages"
|
||||||
;;
|
;;
|
||||||
"${CD_OS_DEBIAN}"|"${CD_OS_UBUNTU}")
|
"${CD_OS_DEBIAN}"|"${CD_OS_UBUNTU}")
|
||||||
CD_PYTHON_PACKAGES="/usr/lib/python3/dist-packages"
|
CD_PYTHON_PACKAGES="/usr/lib/${CD_PYTHON_ALIAS}/dist-packages"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
cd_split
|
cd_split
|
||||||
|
@ -532,7 +536,7 @@ ${self}
|
||||||
↓
|
↓
|
||||||
${1}
|
${1}
|
||||||
"
|
"
|
||||||
"${CD_PYTHON_COMMAND}" -m "${1}" "${CD_STEP}" "${self}"
|
"${CD_PYTHON_ALIAS}" -m "${1}" "${CD_STEP}" "${self}"
|
||||||
}
|
}
|
||||||
|
|
||||||
# functions
|
# functions
|
||||||
|
@ -581,9 +585,10 @@ cd_install_package () {
|
||||||
}
|
}
|
||||||
|
|
||||||
cd_ln_python () {
|
cd_ln_python () {
|
||||||
if [ "${1}" ] ; then
|
local command="${1}"
|
||||||
echo "python3 → ${1}"
|
if [ "${command}" ] ; then
|
||||||
ln -f -s "${1}" "/usr/bin/python3" || exit
|
echo "${CD_PYTHON_ALIAS} → ${command}"
|
||||||
|
ln -f -s "${command}" "/usr/bin/${CD_PYTHON_ALIAS}" || exit
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -603,46 +608,46 @@ cd_mkdir () {
|
||||||
|
|
||||||
cd_openssl () {
|
cd_openssl () {
|
||||||
local file="${1}"
|
local file="${1}"
|
||||||
if [ "${file}" ] ; then
|
if [ -f "${file}" ] ; then
|
||||||
openssl x509 -noout -text -in "${file}" || exit
|
openssl x509 -noout -text -in "${file}" || exit
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
cd_rm () {
|
cd_rm () {
|
||||||
if [ -e "${1}" ] ; then
|
local path="${1}"
|
||||||
echo "← ${1}"
|
if [ -e "${path}" ] ; then
|
||||||
rm -r "${1}" || exit
|
echo "← ${path}"
|
||||||
|
rm -r "${path}" || exit
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
cd_sed () {
|
cd_sed () {
|
||||||
local expression
|
local expression
|
||||||
local file
|
local file="${1}"
|
||||||
if [ -f "${1}" ] ; then
|
shift
|
||||||
file="${1}"
|
if [ -f "${file}" ] ; then
|
||||||
shift
|
|
||||||
for expression in "${@}" ; do
|
|
||||||
sed --in-place "s${expression}g" "${file}" || exit
|
|
||||||
done
|
|
||||||
cd_cat "${file}"
|
cd_cat "${file}"
|
||||||
|
for expression in "${@}" ; do
|
||||||
|
sed --in-place "s${expression}g" "${file}" \
|
||||||
|
&& cd_cat "${file}" \
|
||||||
|
|| exit
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
cd_split () {
|
cd_split () {
|
||||||
echo -n "\
|
echo -n "\
|
||||||
╶─╌╌┄┄┈┈
|
╶${CD_SPLIT}
|
||||||
"
|
"
|
||||||
}
|
}
|
||||||
|
|
||||||
cd_step () {
|
cd_step () {
|
||||||
if [ "${1}" ] ; then
|
CD_STEP=$((CD_STEP+1))
|
||||||
CD_STEP=$((CD_STEP+1))
|
echo -n "\
|
||||||
echo -n "\
|
╭${CD_SPLIT}
|
||||||
╭─╌╌┄┄┈┈
|
│ ${CD_STEP} ${@}
|
||||||
│ ${CD_STEP} ${1}
|
╰${CD_SPLIT}
|
||||||
╰─╌╌┄┄┈┈
|
|
||||||
"
|
"
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cd_write () {
|
cd_write () {
|
||||||
|
@ -674,5 +679,7 @@ CD_PM_APT="apt"
|
||||||
CD_PM_DNF="dnf"
|
CD_PM_DNF="dnf"
|
||||||
CD_PM_PACMAN="pacman"
|
CD_PM_PACMAN="pacman"
|
||||||
|
|
||||||
|
CD_SPLIT="─╌╌┄┄┈┈"
|
||||||
|
|
||||||
# run
|
# run
|
||||||
cd_main
|
cd_main
|
||||||
|
|
Loading…
Add table
Reference in a new issue