Ahh jetzt . ich Trottel hab das voll überlesen hat ja seahawk1986 auch schon erwähnt gehabt.
Danke nochmal ihr zwei
Gruss
Bert
Ahh jetzt . ich Trottel hab das voll überlesen hat ja seahawk1986 auch schon erwähnt gehabt.
Danke nochmal ihr zwei
Gruss
Bert
Ja sehr gut, das sieht gut aus, habe den Code nun so:
find "/hdd/records" -type f \( -name "*.mkv" -o -name "*.mp4" -o -name "*.avi" \) -print0 | xargs -0 ls -lh --full-time | sort -k9,9 | awk '{print $6"\t\t",$5,"\t\t"$9}' >/home/user/liste.txt
oder so, kommt aber das Gleiche dabei raus (nimmt sich also nix):
find "/hdd/records" -type f \( -name "*.mkv" -o -name "*.mp4" -o -name "*.avi" \) -print0 | xargs -0 ls -sh --full-time | sort -k10,10 | awk '{print $7"\t\t",$1,"\t\t"$NF}' >/home/user/liste.txt
Trotzdem hätte mich auch eine Lösung mit stat interessiert (mit find allein geht ja leider nicht hier).
Ich finde hier nicht einmal das Paket findutils wo ja das vollwertige find drinnen sein sollte also muss ich wohl mit dem abgespeckten busybox find leben.
Hi,
Ja ich habe auch eine Lösung mit ls wie folgend:
find "/hdd/records" -type f \( -name "*.mkv" -o -name "*.mp4" -o -name "*.avi" \) -print0 | xargs -0 ls -lh | sort -k9,9 | awk '{print $6,$7,$8"\t\t"$5"\t\t"$9}' >/home/user/liste.txt
aber da passt auch wieder etwas nicht da ls das Datum z.b: für den Tag von 1.-9 so ausgibt:
4. Dez 2022
ansonsten aber ab 10ten Tag so:
11. Dez 2022
und da sieht die Ausgabe dann so aus:
28. Sep 2022 5,3G /hdd/records/Action/_mkv/Black_Hawk_Down.mkv
4. Dez 2022 4,4G /hdd/records/Action/_mkv/Black_Rain.mkv
Ich habe da also trotz der Tabs keine einheitliche Linie.
Hi,
Danke das klappt hier leider nicht - hatte vergessen zu erwähnen mein find kennt kein printf (busybox find)
gibts sonst keine Lösung?
Hi,
Also ich will meine Filme auf Platte (nur erstmal mkv usw..) in eine Liste schreiben, dazu habe ich das:
find "/hdd/records" -type f \( -name "*.mkv" -o -name "*.mp4" -o -name "*.avi" \) -print0 | xargs -0 stat -c '%n %s %y' | sort | awk '{print $3"\t\t"$2"\t\t"$1}' >/home/user/liste.txt
Das klappt ja auch soweit, nur stört mich das stat die Grösse nur in bytes ausgibt.
Liste sieht dann so aus ( kleiner Auszug):
2022-09-28 3753075986 /hdd/records/Action/_mkv/16_Blocks.mkv
2022-09-28 3771191022 /hdd/records/Action/_mkv/300-Rise_of_an_Empire.mkv
2022-09-28 4039596823 /hdd/records/Action/_mkv/300.mkv
2022-09-26 6192036509 /hdd/records/Fantasy/_mkv/Rendezvous_mit_Joe_Black.mkv
2022-09-26 5675945924 /hdd/records/Fantasy/_mkv/The_Batman.mkv/Fantasy/_mkv/Rendezvous_mit_Joe_Black.mkv
usw....
Nun könnte man stat ja auch per pipe an numfmt übergeben doch das klappt ja so nur wenn
ich nur die Grösse per stat ausgeben lasse also so ungefähr:
find "/hdd/records" -type f \( -name "*.mkv" -o -name "*.mp4" -o -name "*.avi" \) -print0 | xargs -0 stat -c '%s' | numfmt --to=iec
Doch so bekomme ich nicht das Datum und den Filmnamen was ich aber natürlich auch brauche, gibt es da einen Weg um mit stat Datum, Name, und Grösse zu bekommen wobei man aber nur die Grösse an numfmt weitergeben kann mittels Pipe?
Ich hätte das gerne so wie ganz oben im Code also alles in nur einer Zeile.
Gruss
Bert
Hab ich gemacht Danke, aber das Problem bleibt genau gleich.
Hi,
Ja also pidof PID zeigt leider gar nix an, aber ps -aux | grep PID und zwar das:
vdr 1833 0.0 0.0 237292 4996 ? Sl 21:49 0:00 /usr/libexec/geoclue-2.0/demos/agent
yavdrus+ 10364 0.0 0.0 9420 724 tty3 S+ 22:11 0:00 grep --color=auto 1833
Sagt mir aber gar nichts.
Habe nun mal meine host_vars/localhost einfach gelöscht und das Script mittels "sudo -H ./install-yavdr.sh" gestartet
dabei kommt auch das Problem mit dem Prozess der blockiert doch in diesem Fall nützt es wenn ich die PID dieses Prozesses kille
und das Script läuft danach fehlerfrei durch. Mache ich das hingegen mit meiner host_vars/localhost geht das nicht.
Grub Bootmenü ist auch wieder weg nun, aber ich kanns erreichen beim Start mit der Shifttaste und schnell ne Cursertaste nach unten da der Timeout
und überhaupt nichts was ich in die /etc/default/grub eintrage greift.
Das muss ich jetzt mal richtig lösen da das bei einem MultibootSystem nicht günstig ist.
In meiner host_vars/localhost steht ja z.b:
Das würde vermutlich helfen aber mit meiner localhost läuft ja nichts durch (greift also nicht), ich probier mal:
cd yavdr-ansible
sudo -H ansible-playbook yavdr07.yml -b -i 'localhost_inventory' --connection=local --tags="grub-config"
Edit, Das hat geklappt, hätte ich das mal früher gewusst dann hätte ich mir die Prozedur aus Post #7 und vor Allem aus Post #9 erspart.
Ich versteh das nicht ich will das Script also "sudo -H ./install-yavdr.sh" nochmal laufen lassen doch es kommt immer:
TASK [yavdr-common : create vdr user] *******************
fatal:[localhost] : FAILED! => {
"changed" : false,
"name" : "vdr"
"rc" : 8
}
MSG:
usermod : Benutzer vdr wird derzeit von Prozess 11859 verwendet
Ich habe das nun sicher 7x hintereinander probiert mit auch vorher vdr stoppen, Prozess killen ist jedesmal eine andere PID, Kompletter Neustart
aber es läuft nie durch (kurz vor dem Fehler wird auch immer der VDR vom Script gestartet).
Hi,
Gut also zurück zum eigentlichen Problem, ich häng mal ein bisschen syslog vom Vdr Start an
(da sieht man schon ein paar Fehler drinnen, kann aber nichts damit anfangen), auch:
no DVB device found
steht da unter Anderem - ist wohl auch nicht so gut.
Vielleicht sieht ja jemand wos hakt.
Gruss
Bert
Hi,
Danke für die Links - seh ich mir an.
Hatte es in der Zwischenzeit geschafft die Probleme zu vergrössern
Habe mittels USB Bootmedium per boot-repair (mit Optionen wie u.a. purge grub usw..) den Grub im yavdr ansible neu installieren können, das hat zwar den Grub Boot-Auswahlbildschirm zurück gebracht doch nun war nur noch yavdr ansible auswählbar - also nicht der grosse Wurf.
Danach blieb mir nichts anderes übrig als per chroot Methode den Grub vom Kubuntu-20.04 wiederherzustellen was auch geklappt hat, nun konnte
ich wieder alle drei Betriebssyteme auswählen und auch hochfahren.
Nun aber steht natürlich als erster Booteintrag im Auswahlbildschirm das Kubuntu-20.04 was ich aber so nicht will, denn wenn ich mal einfach hochfahre soll default (falls ich nichts anderes auswähle) das yavdr ansible hochfahren nach dem Timeout.
Normalerweise hatte ich wenn sich das durch ein Update vom Kubuntu-20.04 geändert hat immer einfach folgendes getan im yavdr ansible:
Und danach war wieder yavdr ansible an erster Position im Boot-Auswahlbildschirm.
Doch seit ich boot-repair verwendet habe findet der Grub im yavdr ansible kein weiteres Bertriebssystem, das ändert sich auch dann nicht wenn
ich von einem USB Bootmedium (Kubuntu-20.04 Desktop.iso) die chroot Methode um den Grub wiederherzustellen anwende also das mache:
sudo mount /dev/nvme0n1p6 /mnt
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
for dir in /dev /dev/pts /proc /sys /run; do sudo mount --bind $dir /mnt$dir; done
grub-install
update-grub
Mache ich das selbe oben im Code aber mit /dev/nvme0n1p5 für den Grub im Kubuntu-20.04 werden alle Betriebssyteme gefunden.
Was kann ich noch tun oder bleibt mir wirklich nichts anderes übrig als die Ubuntu Server Distri und yavdr ansible neu zu installieren?
Genau das wollte ich eigentlich vermeiden.
Habe noch eine Reinstallation vom Grub im yavdr ansible selbst versucht aber dabei wird os-probe nicht mehr gefunden nun und es ändert nichts am Problem, vielleicht ist ja genau das das Problem wegen os-probe
Edit, oh sehe gerade das Paket sollte ja os-prober lauten, wie blöd.
new Edit, ok Kommando retour - die Grub Probleme sind nun behoben mit einer neuen Reinstallation vom Grub direkt im yavdr ansible diesmal mit dem korrekten Paketnamen also einfach mit:
ist wenigstens diesbezüglich alles wieder im Lot.
Gruss
Bert
Hi,
Ich weiss nicht was das für ein Prozess ist die PID ist jedenfalls immer eine andere, doch das ist nun eh egal denn es hat jetzt plötzlich doch geklappt
auf ganz normalem Weg also PID killen und das Script ist danach durchgelaufen (Bild und Ton gibts jedoch nicht) nur das Yavdr Logo ist zu sehen.
Im Moment habe ich aber neue Probleme plötzlich seit dem Ausführen und erfolgreichem Durchlaufen des Scripts sehe ich den BootManager (Grub)
also das Auswahlfenster nicht mehr.
Es fährt immer sofort das Yavdr hoch, kann kein anderes Bertriebssystem mehr starten, habe nachgeguckt in der /etc/default/grub und da stand plötzlich das drinnen:
Dachte ok das ist das Problem, doch nach Umstellen zu:
und anschliessendem sudo upodate-grub ändert sich nichts, das Problem bleibt hartnäckig bestehen.
Macht yavdr da was extra mit grub ich meine gibts da irgendwelche default templates die da dazwischenfunken (bin absolut nicht up-to-date das macht alles schwieriger).
Hi,
Leider kein Glück das hab ich alles schon durch hat leider nix gebracht.
Hmm, Sript (sudo -H ./install-yavdr.sh) neu angestossen Fehlermeldung ansible Version zu alt
Also Ordner yavdr-ansible gelöscht, neu aus Git ausgescheckt, wieder Script gestartet.
sudo apt update
sudo apt dist-upgrade
hat das Problem tatsächlich gelöst doch nun kommt der VDR nicht mehr hoch es ist nur noch das blaue yavdr Logo zu sehen
aber kein Bild vom Sender.
Hi,
Eventuell hat das nur bedingt mit yavdr zu tun, aber ich frag mal hier (wenn es hier nicht passt bitte verschieben).
Habe ein Multiboot System also einmal Win 10, einmal Kubuntu-20.04, und einmal yavdr Ansible, bislang hat alles weitgehends reibungslos geklappt
und ich konnte alle drei Systeme über Grub booten wobei im Bios unter Boot -> Sicheres Booten immer Uefi Windows eingestellt war.
Doch neulich habe ich das Kubuntu-20.04 upgedatet (nur Pakete aktualisiert) und nun fährt yavdr nur noch hoch wenn ich im Bios
bei Boot -> Sicheres Booten auf "anderes Betriebssystem" umstelle.
Wie das sein kann ist mir nicht klar denn das yavdr Ansible habe ich ja nicht angerührt
Wie geht das (kann ja eigentlich damit das ich das Kubuntu-20.04 upgedatet habe nichts zu tun haben) ?
Sollte man das yavdr Ansible ab und zu auch mal updaten um sowas zu vermeiden ? Eventuell liegt das Problem ja genau daran
weil ich yavdr Ansible bisher noch nie upgedatet habe.
Wenn ich unter Boot -> Sicheres Booten auf Uefi Windows umstelle kann ich nur noch Win10 und das Kubuntu-20.04 hochfahren, versuche ich so das yavdr Ansible hochzufahren kommt die folgende Meldung: bad shim signature - you need to load the kernel first
Gruss
Bert
Hi seahawk1986,
Danke, ist auch wenn wackelig trotzdem ne gute Lösung.
Hatte mir derweil das gebastelt,
while true; do
read -p "how many EXTRA_PARTITIONS do you want to create ? " -n 2
case $REPLY in
[0][1-9]|[1][0-6]* ) EXTRA_PARTITIONS=$REPLY && echo -e "\nchosen was -> ${blue}$EXTRA_PARTITIONS${green}\n" && break;;
* ) echo -e "\n${yellow}please answer with numbers from 01 to 16.${green}\n";;
esac
done
if [ "$EXTRA_PARTITIONS" -le "9" ] ; then
EXTRA_PARTITIONS="$(echo $EXTRA_PARTITIONS | cut -b 2)"
fi
Display More
Das klappt gar nichtmal so schlecht (verwende #!/bin/sh) , und ist auch schön kurz, doch mich stört halt das man dabei bei 1-9 immer ne Null zuvor mit angeben muss.
Gruss
Bert
Hi All,
Hab hier ein komplexeres Script und darin z.b: nen Part wie folgt,
echo -e "$green"
while true; do
read -p "how many EXTRA_PARTITIONS do you want to create ? " -n 1
case $REPLY in
[1-9]* ) EXTRA_PARTITIONS=$REPLY && echo -e "\nchosen was -> ${blue}$EXTRA_PARTITIONS${green}\n" && break;;
* ) echo -e "\n${yellow}please answer with numbers from 1 to 9.${green}\n";;
esac
done
Das funktioniert ja auch wunderbar, doch möchte ich das nun erweitern so das auch eine zweistellige Angabe möglich ist also in etwa so,
echo -e "$green"
while true; do
read -p "how many EXTRA_PARTITIONS do you want to create ? " #-n 2
case $REPLY in
[0-9]|[1-6]* ) EXTRA_PARTITIONS=$REPLY && echo -e "\nchosen was -> ${blue}$EXTRA_PARTITIONS${green}\n" && break;;
* ) echo -e "\n${yellow}please answer with numbers from 1 to 16.${green}\n";;
esac
done
Das klappt auch, doch so kann ich keine Limitierung haben also ich möchte ja nicht mehr als 16 Partitionen erlauben.
Bei dieser Variante kann ich ja leider auch z.b: 17 wählen, und leider geht das so auch nur mit nachfolgenden Druck auf die Enter Taste.
Ich hätte also gerne das man nur ne Zahl zwischen 1 - 16 wählen kann und sonst gar nix anderes angeben kann, und am Liebsten
auch noch ohne danach die Enter Taste drücken zu müssen.
So klappt das ja bei der obersten Variante, doch eben nur von 1 - 9.
Wenns dann nur mit z.b: von 01 - 16 klappt und ich so keine Enter Taste drücken muss wäre das auch ok, dann müsste ich danach
halt noch die führende Null löschen da das komplette Script etwas gross ist mittlerweile und von dieser Auswertung einiges abhängt
(müsste sonst wieder einiges mehr im Script ändern).
Hat jemand ne Idee ?
EDIT !
Also so ginge es fürs Erste,
echo -e "$green"
while true; do
read -p "how many EXTRA_PARTITIONS do you want to create ? " -n 2
case $REPLY in
[0][1-9]|[1][0-6]* ) EXTRA_PARTITIONS=$REPLY && echo -e "\nchosen was -> ${blue}$EXTRA_PARTITIONS${green}\n" && break;;
* ) echo -e "\n${yellow}please answer with numbers from 01 to 16.${green}\n";;
esac
done
Gäbe es ne schönere Lösung als mit führender Null und dennoch nicht die Enter Taste zu benötigen
(egal ob ein oder zweistellige Eingabe) ?
Gruss
Bert
Hi,
Ihr seid super
Das haut soweit alles hin nun, das von rfu mit dem export (an das hab ich nicht mal gedacht), sieht jetzt insgesamt wie folgend aus
wobei ich das mit dem Code von FireFly getestet habe, also so:
#!/bin/bash
yellow="\033[33m"
green="\033[32m"
blue="\e[1m\e[34m"
red="\e[1m\e[31m"
cyan="\033[36m"
to_default="\033[0m"
parts=5
z=1
echo -e "$green"
while [ $z -le $parts ] ; do
while true; do
read -p "please enter the size in GiB for size_$z: " value
case $value in
[0-9]|[0-9][0-9]|[0-9][0-9][0-9]|[0-9][0-9][0-9][0-9]) size_[$z]=$value
export size_${z}=$value
echo -e "\n${blue}size_$z${green} = ${blue}$value${green}\n"
break
;;
* ) echo -e "\n${yellow}please answer with numbers from 0 to 9 from single-digit to four-digit.${green}\n";;
esac
done
z=$((z+1))
done
echo -e "\ncomplete sizes: ${blue}${size_[@]}\n"
echo -e "$to_default"
echo "size_1 = $size_1"
echo "size_2 = $size_2"
echo "size_3 = $size_3"
echo "size_4 = $size_4"
echo "size_5 = $size_5"
exit
Display More
Die Ausgabe dazu sieht dann so aus:
sh /usr/script/_testing.sh
please enter the size in GiB for size_1: 1
size_1 = 1
please enter the size in GiB for size_2: 2
size_2 = 2
please enter the size in GiB for size_3: 3
size_3 = 3
please enter the size in GiB for size_4: 4
size_4 = 4
please enter the size in GiB for size_5: 5
size_5 = 5
complete sizes: 1 2 3 4 5
size_1 = 1
size_2 = 2
size_3 = 3
size_4 = 4
size_5 = 5
Display More
Auch das von HelmutB † mit eval haut super hin, sieht so aus:
#!/bin/bash
yellow="\033[33m"
green="\033[32m"
blue="\e[1m\e[34m"
red="\e[1m\e[31m"
cyan="\033[36m"
to_default="\033[0m"
#set -x
parts=4
echo -e "$green"
for ((i=1; i<=$parts; i++)) ; do
while true; do
read -p "please enter the size in GiB for size_$i: " size_gb
case $size_gb in
[0-9]|[0-9][0-9]|[0-9][0-9][0-9]|[0-9][0-9][0-9][0-9]) eval "size_$i=$size_gb"
echo -e "\n${blue}size_$i${green} = ${blue}$((size_$i))${green}\n" && break;;
* ) echo -e "\n${yellow}please answer with numbers from 0 to 9 from single-digit to four-digit.${green}\n";;
esac
done
done
echo -e "$to_default"
echo "size_1 = $size_1"
echo "size_2 = $size_2"
echo "size_3 = $size_3"
echo "size_4 = $size_4"
echo "size_5 = $size_5"
exit
Display More
Die Ausgabe dazu sieht so aus:
sh /usr/script/_testing.sh
please enter the size in GiB for size_1: 15
size_1 = 15
please enter the size in GiB for size_2: 2
size_2 = 2
please enter the size in GiB for size_3: 333
size_3 = 333
please enter the size in GiB for size_4: 4444
size_4 = 4444
size_1 = 15
size_2 = 2
size_3 = 333
size_4 = 4444
size_5 =
Display More
Also alles super, nun muss ich noch gucken mit nem array wie von seahawk1986 vorgeschlagen, aber sind jetzt schon schöne kurze Lösungen.
Hab ja schon öfters mal arrays in Scripts eingebaut aber noch nicht für so nen Fall (steh da immer noch am Schlauch) aber das wird schon noch.
Vielen Dank an alle Beteiligten hier kann man nun eigentlich als gelöst betrachten den Thread.
Gruss
Bert
Hi Jungs,
Das sind alles schöne Ansätze, aber ich steh dennoch immer wieder vor dem selben Problem.
Ich versuch das jetzt mal besser bzw. genauer zu erklären was ich eigentlich will, es ist wie folgt;
Ich möchte in ner Schleife interaktiv die size abfragen wobei die size is nix anderes als ne Grösse die man eingibt in Form von Zahlen
und zwar soll das die Grösse in KiB darstellen.
wie oft die size abgfragt wird das wiederum hängt von der Variablen parts ab, also z.b: wenn
parts=4
dann wird die size 4x abgefragt, bis hierher keinerlei Problem
doch möchte ich mittels nem Zähler der mit (z=1) anfängt pro Schleifendurchlauf an die variable size ne Nummer anhängen.
also wenn nun size gefüllt ist mit z.b: 5555555 so das echo "$size" eben 5555555 ausgibt möchte ich diese Variable (jetzt mal grob gesagt)
quasi umbenennen so das size nachher size_1 ist und echo $size_1 die 5555555 ausgibt.
Beim nächsten Schleifendurchlauf wird dann der Zähler erhöht mit z=$((z+1)) und dann sollte aus size mit was immer diese Variable nun gefüllt wurde
size_2 werden usw...
Hab da ziemlich einfach gedacht und dachte das kann doch in der bash nie ein Problem sein und es würde das folgende genügen,
also wenn da nun wie von FireFly statt der REPLY variablen value verwendet wird:
dann dachte ich, ok ich mach mal:
doch das klappt ja nicht.
Dank FireFly weiss ich nun das sowas stattdessen klappt:
doch ist das ja dennoch keine Variable die ich so weiter verwenden kann, denn ein echo $size[$z] gibt ja jetzt lediglich den Zähler aus
also die variable z und das in eckigen Klammern.
Vereinfacht gezeigt sieht man das Problem wie folgt am Besten denke ich:
klappt nicht:
hingegen ohne variable für den Zähler (z) klappt das problemlos:
Ich hab ne Lösung aber die benötigt keinerlei array, und braucht aber zwei while Schleifen sowie ein case und innerhalb vom case ein paar if elif Abfragen also so:
Das klappt dann natürlich, allerdings hatte ich gehofft das kürzer hinzubekommem, ich bin nicht sicher ob sowas mit nem array und ohne den ifs
hinzubekommen ist, doch wenn das ginge würd ich gerne wissen wie ?
Hier mal meine derzeitige Lösung:
wobei die Variable parts und DEV usw.. frage ich eh auch bereits an anderer Stelle interaktiv ab (das hier ist halt nur der relevante Codeschnipsel
und damit der funktioniert (falls den jemand testen will - Script tut eh nix wirkliches bzw. gefährliches) hab ich diese Variablen derweil so darin vorgegeben.
#!/bin/bash
yellow="\033[33m"
green="\033[32m"
blue="\e[1m\e[34m"
red="\e[1m\e[31m"
cyan="\033[36m"
to_default="\033[0m"
DEV=sdb
E_SIZE="$(df -k | grep /dev/$DEV | awk '{print $2}')"
KiB=1048576
E_SIZE_GiB=$(($E_SIZE/$KiB))
parts=4
echo -e "$green"
z=1
while [ $z -le $parts ] ; do
while true; do
read -p "please select the size in GiB for size_$z ?" size_gb
echo ""
case "$size_gb" in
[0-9]|[0-9][0-9]|[0-9][0-9][0-9]|[0-9][0-9][0-9][0-9]) echo -e "\nchosen was ${blue}$size_gb${green} for ${blue}size_$z${green}\n"
if [ "$z" = "1" ] ; then
size_1=$size_gb && echo -e "\n${blue}size_${z}_GiB${green} = ${blue}$size_gb GiB\n${green}"
size_1=$(($size_1*$KiB)) && SUM=$size_gb
elif [ "$z" = "2" ] ; then
size_2=$size_gb && echo -e "\n${blue}size_${z}_GiB${green} = ${blue}$size_gb GiB\n${green}"
size_2=$(($size_2*$KiB)) && SUM=$(($SUM+$size_gb))
elif [ "$z" = "3" ] ; then
size_3=$size_gb && echo -e "\n${blue}size_${z}_GiB${green} = ${blue}$size_gb GiB\n${green}"
size_3=$(($size_3*$KiB)) && SUM=$(($SUM+$size_gb))
elif [ "$z" = "4" ] ; then
size_4=$size_gb && echo -e "\n${blue}size_${z}_GiB${green} = ${blue}$size_gb GiB\n${green}"
size_4=$(($size_4*$KiB)) && SUM=$(($SUM+$size_gb))
elif [ "$z" = "5" ] ; then
size_5=$size_gb && echo -e "\n${blue}size_${z}_GiB${green} = ${blue}$size_gb GiB\n${green}"
size_5=$(($size_5*$KiB)) && SUM=$(($SUM+$size_gb))
fi
break ;;
* ) echo -e "\n${yellow}please answer with numbers from 0 to 9 from single-digit to four-digit.${green}\n";;
esac
done
z=$((z+1))
done
TOTAL_SIZE=$((SUM*$KiB))
echo -e "\nESTIMATED_SIZE_GiB FOR ${blue}$DEV${green} = ${blue}$E_SIZE_GiB GiB${green}"
echo -e "ESTIMATED_SIZE FOR ${blue}$DEV${green} = ${blue}$E_SIZE KiB${green}"
echo -e "\nTOTAL_SIZE_GiB = ${blue}$SUM GiB${green}"
echo -e "TOTAL_SIZE = ${blue}$TOTAL_SIZE KiB${green}"
## check if the selected partition size(s) are not bigger as the device size, if so then the script ends.
if [ "$E_SIZE" -lt "$TOTAL_SIZE" ] ; then
echo -e "\n${red}... ABORT ...\nthe total size of the partitons is larger\nthan the available space on device ${blue}$DEV.${red}"
echo -e "start $0 again, and\nmake your selections new.\n\n" && exit 1
fi
echo -e "\nsize_1 = $size_1"
echo "size_2 = $size_2"
echo "size_3 = $size_3"
echo "size_4 = $size_4"
echo -e "size_5 = $size_5\n"
exit
Display More
und so sieht das bei der Ausführung aus:
Gruss
Bert
Hi FireFly,
Danke, werd das gleich testen.
Gruss
Bert