arch/pkg/de-p1st-installer/helper.sh

36 lines
1.0 KiB
Bash
Raw Normal View History

2021-04-30 21:42:12 +02:00
function newline_to_space(){
# Replaces all newlines with spaces
# $1: name of variable
local -n ptr=$1
# Replace newlines with spaces
# See bash string substitution: https://gist.github.com/JPvRiel/b279524d3e56229a896477cb8082a72b
echo "removing newlines in str: -->$ptr<--"
ptr="${ptr//$'\n'/' '}"
echo "new str is: -->$ptr<--"
}
function get_block_devices(){
# return: the following variables:
# BLOCK_DEVICES (array with each block device as one entry)
# get list of devices, one per line
local tmp
tmp=$(lsblk -dplnx size -o name | grep -Ev "boot|rpmb|loop")
readarray -t BLOCK_DEVICES <<<"$tmp"
}
function get_block_devices_with_size() {
# return: the following variables:
# BLOCK_DEVICE_SIZES (space separated list of block devices and their sizes)
# one could use sed to remove multiple white spaces
# sed 's|\s\s*| |'
BLOCK_DEVICE_SIZES="$(lsblk -dplnx size -o name,size | grep -Ev "boot|rpmb|loop" | tac)"
# replace newlines with spaces
newline_to_space BLOCK_DEVICE_SIZES
}