Vytvořte ukazatel průběhu v Bash

Vytvorte Ukazatel Prubehu V Bash



Když je nutné během provádění skriptu čekat po pevně stanovenou dobu, je lepší vytvořit ukazatel průběhu, který uživatele informuje, že má nějakou dobu počkat. Ukazatel průběhu lze vytvořit pomocí jednoduchého skriptu Bash nebo pomocí některých vestavěných příkazů Linuxu, jako je „cv“, „dialog“ atd. Metody vytváření ukazatelů průběhu pomocí skriptu Bash jsou uvedeny v tomto návodu.

Různé příklady vytvoření ukazatele průběhu v Bash

Různé způsoby implementace ukazatele průběhu v Bash jsou uvedeny v této části tutoriálu.

Příklad 1: Implementujte jednoduchý ukazatel průběhu bez jakéhokoli příkazu

Vytvořte soubor Bash pomocí následujícího skriptu, který zobrazuje ukazatel průběhu pomocí znaku „#“ a příkazu „sleep“. Pro zobrazení ukazatele průběhu se zde používá příkaz „printf“. Ukazatel průběhu je rozdělen do čtyř částí. Po 1 sekundě se zobrazí 25 %. Po 3 sekundách se zobrazí 50 %. Po 2 sekundách se zobrazí 75 %. Po 1 sekundě se zobrazí 100 %.







#!/bin/bash

printf ' \n Počkejte na dokončení úkolu... \n \n '

#Počkejte 1 sekundu

spát 1

#Vytiskněte první část ukazatele průběhu

printf '[#####] 25 %% hotovo. \r '

#Počkejte 3 sekundy

spát 3

#Vytiskněte druhou část ukazatele průběhu

printf '[########## ] 50 %% hotovo. \r '

#Počkejte 2 sekundy

spát 2

#Vytiskněte třetí část ukazatele průběhu

printf '[############### ] 75 %% dokončeno. \r '

#Počkejte 1 sekundu

spát 1

#Vytiskněte poslední ukazatel průběhu

printf '[####################] 100 %% dokončeno. \r '

printf ' \n \n Úkol splněn. \n \n '

.



Po 1 sekundě od spuštění skriptu se objeví následující výstup:







Po 7 sekundách od spuštění skriptu se zobrazí následující výstup:



Příklad 2: Implementace ukazatele průběhu pomocí příkazu „Pv“.

Úplná forma příkazu „pv“ je „prohlížeč potrubí“. Používá se ke sledování průběhu dat procházejících kanálem a zobrazení indikátoru průběhu na základě velikosti dat. Tento příkaz není ve výchozím nastavení v systému nainstalován. Před procvičováním skriptu z tohoto příkladu spusťte následující příkaz k instalaci příkazu „pv“:

$ sudo apt Nainstalujte pv

Musíte vybrat soubor velké velikosti, který se zkopíruje z jednoho umístění do jiného. Vytvořte soubor Bash pomocí následujícího skriptu, který zkopíruje soubor „test.txt“ z aktuálního umístění do umístění „/home/fahmida/temp/“. Příkaz „pv“ se zde používá k zobrazení ukazatele průběhu. Ukazatel průběhu se zobrazuje na základě velikosti souboru „test.txt“.

#!/bin/bash

echo 'Kopírování souboru z jednoho umístění do jiného.'

#Počkejte 2 sekundy

spát 2

# Zkopírujte soubor do cíle

kočka test.txt | pv -s $ ( stat -C % s test.txt ) > / Domov / porozumění / tepl / test.txt

echo 'Soubor byl zkopírován.'

Po dokončení spuštění skriptu se zobrazí následující výstup:

Příklad 3: Implementace ukazatele průběhu pomocí příkazu „Dialog“.

Dalším způsobem implementace ukazatele průběhu v Bash je použití příkazu „dialog“. Tento příkaz lze použít k zobrazení dobře vypadajícího ukazatele průběhu v terminálu. Pomocí tohoto ukazatele průběhu lze zobrazit mnoho typů widgetů. Úlohu ukazatele průběhu, který je zobrazen tímto příkazem, lze ovládat skriptem Bash. Tento indikátor průběhu není ve výchozím nastavení v systému nainstalován. Chcete-li nainstalovat tento indikátor průběhu do systému, spusťte následující příkaz:

$ sudo apt Nainstalujte dialog

Vytvořte soubor Bash pomocí následujícího skriptu, který zobrazí ukazatel průběhu pomocí příkazu „dialog“. Úloha zkopírovat soubor „/etc/passwd“ do umístění „/home/fahmida/tempdir“ se zobrazí pomocí ukazatele průběhu. Ukazatel průběhu je rozdělen do pěti částí; každá část se zobrazí po 2 sekundách. Volba –title se používá v příkazu „dialog“ k zobrazení názvu ukazatele průběhu. Volba –gauge se používá v příkazu „dialog“ k zobrazení ukazatele průběhu s výškou 10 řádků a šířkou 100 znaků. Nad ukazatelem průběhu se zobrazí zpráva „Čekání na dokončení úkolu“.

#!/bin/bash

#Inicializujte počítadlo

aktuální_pos = 0

(

#Definujte nekonečnou smyčku

pro ( ( ;; ) )

dělat

kočka <
oddělovač

$current_pos

# Zobrazit aktuální hodnotu počítadla

cp /etc/passwd do /home/fahmida/tempdir ( $current_pos%):

oddělovač

EOF


#Zvyšte počítadlo o 20

( ( aktuální_pos+= dvacet ) )

#Ukončete smyčku, když je hodnota čítače větší než 100

[ $current_pos -gt 100 ] && přestávka

# Po každém zvýšení počkejte 2 sekundy

spát 2

Hotovo

) | dialog --titul 'Kopírování souboru...' --rozchod 'Čekání na dokončení úkolu' 10 100 0


Po 6 sekundách od spuštění skriptu se zobrazí následující výstup:


Po 10 sekundách od spuštění skriptu se zobrazí následující výstup:


Závěr

Různé způsoby vývoje ukazatele průběhu pomocí skriptu Bash jsou uvedeny v tomto tutoriálu, který uživatelům Bash pomáhá používat ukazatel průběhu v jejich programu.