Commit f01893c9 authored by kyodev's avatar kyodev

maj

parent e0945e9a
Pipeline #59962 passed with stages
in 24 seconds
# nstest benches
## resolv bench
_ _
_ __ ___| |_ ___ ___| |_
| '_ \/ __| __/ _ \/ __| __|
| | | \__ \ || __/\__ \ |_
|_| |_|___/\__\___||___/\__| --nodns
version: 1.9.0 22/06/2018
1:org 2:eu 3:fr 4:com 5:info 6:org 7:libre 8:net 9:io 10:sh Average
ns0.fdn.fr (80.67.169.12) 8 9 9 9 9 9 -9 9 9 9 8.90 ms
cloudflare (1.1.1.1) 10 9 9 10 9 10 -9 9 9 10 9.40 ms
openNic ns10.fr (87.98.175.85) 12 12 12 12 12 12 12 13 12 12 12.10 ms
cloudflare (2606:4700:4700::1111) 10 10 10 10 10 10 -94 10 10 10 18.40 ms
google (2001:4860:4860::8888) 14 15 14 18 27 23 -15 25 31 22 20.40 ms
tested domains ('base' list):
1:debian.org 2:eurid.eu 3:free.fr 4:google.com 5:info.info 6:kernel.org 7:be.libre 8:ovh.net 9:packager.io 10:transfer.sh
n/a indicates an inaccessible server, dash (-) indicates a domain not found
execution time: 1884 ms (22/06/2018 15:23 +0200)
## open DNS bench
```text
_ _
_ __ ___| |_ ___ ___| |_
......
......@@ -11,7 +11,7 @@
> Ceux qui ne croient pas en l'avenir marketé _fabuleux_ de Quantum (publicité intégrée à venir, webextension limitées chez Mozilla, etc), qui présage plutôt un suivi sans saveur de Google Chrome, en attendant son abandon après une longue agonie déjà amorcée depuis longtemps, peuvent [tester Waterfox](https://framaclic.org/h/doc-getxfox)
> Waterfox est un fork basé sur l'ancien moteur avec tout les extensions fonctionnelles et une bien plus grande liberté de personnalisation
![version: 4.24.2](https://img.shields.io/badge/version-4.24.2-blue.svg?longCache=true&style=for-the-badge)
![version: 4.25.0](https://img.shields.io/badge/version-4.25.0-blue.svg?longCache=true&style=for-the-badge)
![bash langage](https://img.shields.io/badge/bash-4-brightgreen.svg?longCache=true&style=for-the-badge)
![license LPRAB / WTFPL](https://img.shields.io/badge/license-LPRAB%20%2F%20WTFPL-blue.svg?longCache=true&style=for-the-badge)
......
# getInfo
![version: 4.9.1](https://img.shields.io/badge/version-4.9.1-blue.svg?longCache=true&style=for-the-badge)
![version: 4.15.0](https://img.shields.io/badge/version-4.15.0-blue.svg?longCache=true&style=for-the-badge)
![bash langage](https://img.shields.io/badge/bash-4-brightgreen.svg?longCache=true&style=for-the-badge)
![license LPRAB / WTFPL](https://img.shields.io/badge/license-LPRAB%20%2F%20WTFPL-blue.svg?longCache=true&style=for-the-badge)
......@@ -16,8 +16,8 @@
> * tout est collecté avec les droits utilisateur
seul le contenu de **journalctl** (ou dmesg) nécessite des droits administrateur et le mot de passe sera demandé.
À défaut de le connaître ou le saisir, les journaux système ne seront pas affichés.
> * à l'installation, le script s'inscrit dans le fichier _bashrc_ du système (si trouvé) et un résumé du système s'affichera à l'ouverture d'une console (similaire à neofetch)
> * ce résumé est accessible manuellement avec la commande `gfetch`
> * à l'installation, le script crée un lanceur, `gfetch`, qui affiche un résumé système dans le terminal (similaire à neofetch)
> * option possible pour inscrire gfetch dans bashrc (système), résumé du système s'affichera à l'ouverture d'une console
## chargement et lancement du script:
......@@ -37,16 +37,17 @@ chmod +x getInfo
__ _ ___| |_|_ _|_ __ / _| ___
/ _' |/ _ \ __|| || '_ \| |_ / _ \
| (_| | __/ |_ | || | | | _| (_) |
\__, |\___|\__|___|_| |_|_| \___/ -h
|___/ version 4.9.0 - 20/06/2018
•ø••••••••••••••••◇◇◇•••••
\__, |\___|\__|___|_| |_|_| \___/
|___/ version 4.12.0 - 26/06/2018
•ø••••••••••••••••◇◇◇•••••
les droits root sont demandés et requis pour afficher les journaux systèmes
[su] nécessite la saisie du mot de passe root
[sudo] nécessite le mot de passe utilisateur si celui peut obtenir les privilèges administrateur
à défaut de saisie valide, les journaux n'apparaîtront pas dans le rapport final
[su] Mot de passe :
le rapport est disponible en local, fichier: getInfo_rapport.md
vous pouvez le visualiser ultérieurement avec getInfo -l
......@@ -146,36 +147,36 @@ chmod +x getInfo
/ _' |/ _ \ __|| || '_ \| |_ / _ \
| (_| | __/ |_ | || | | | _| (_) |
\__, |\___|\__|___|_| |_|_| \___/ -h
|___/ version 4.9.0 - 20/06/2018
|___/ version 4.12.0 - 26/06/2018
./getInfo : exécution script
getInfo : exécution script installé dans le système
-----------------------------------------------------------------------
getInfo -c : (catégorie) menu sélection catégorie d'analyse
getInfo -cs : catégorie système -cc : catégorie configuration -csc : système&configuration
getInfo -cr : catégorie réseau -ca : catégorie analyse -cscra: toutes les 4 catégories
getInfo -j : (journaux) analyse démarrage système, log Xorg, kernel et système, catégorie -ca
getInfo -l : (list) afficher le rapport markdown existant
getInfo -p : (paste) exporte le rapport markdown existant, durée standard du paste 7 jours
getInfo -us : upgrade spécial du script en place (sans être installé)
getInfo --ip : affiche ip publique (ipv4/ipv6), pas de rapport markdown
getInfo --mac : affiche adresses Mac, pas de rapport markdown
getInfo --rc : gfetch, affiche un résumé, destiné à l'identification et appelé depuis .batchrc
getInfo --serial : affiche n° série disques, batterie et châssis, pas de rapport markdown
getInfo --ssid : affiche configurations ssid, pas de rapport markdown, root & NetworkManager requis
./getInfo [options]: exécution script (non installé)
getInfo [options]: exécution script installé dans le système
-------- Options:
-c : (catégorie) menu sélection catégorie d'analyse
-cs : catégorie système -cc : catégorie configuration -csc : système&configuration
-cr : catégorie réseau -ca : catégorie analyse -cscra: toutes les 4 catégories
-j : (journaux) analyse démarrage système, log Xorg, kernel et système, catégorie -ca
-l : (list) afficher le rapport markdown existant
-p : (paste) exporte le rapport markdown existant, durée standard du paste 7 jours
--us : upgrade spécial du script en place (sans être installé)
--ip : affiche ip publique (ipv4/ipv6), pas de rapport markdown
--mac : affiche adresses Mac, pas de rapport markdown
--rc : affiche un résumé systéme (équivalent gfetch si non installé)
--serial : affiche n° série disques, batterie et châssis, pas de rapport markdown
--ssid : affiche configurations ssid, pas de rapport markdown, root & NetworkManager requis
--debug-paste : affichage retour json de de l'export sur pastebin
--debug : messages d'erreur (stderr) logués et exportés avec le rapport
--dev : une version de dev du script (si existante) est recherchée
-t n, --time n : temps de conservation du paste, par défaut 7 jours
-----------------------------------------------------------------------
./getInfo -i : installation du script dans le système (root)
getInfo -h, --help : affichage aide
getInfo --irc : installation gfetch (root)
getInfo -r, --remove : désinstallation du script (root)
getInfo --rrc : désinstallation gfetch (root)
getInfo -u, --upgrade : mise à jour script
getInfo -v, --version : version du script, installée et en ligne
--debug : messages d'erreur (stderr) logués et exportés avec le rapport
--dev : une version de dev du script (si existante) est recherchée
-t n, --time n : temps de conservation du paste, par défaut 7 jours
-------- Script, installation:
-h, --help : affichage aide
-i, --install : installation du script dans le système (root requis)
-r, --remove : désinstallation du script (root requis)
-u, --upgrade : mise à jour script installé
-v, --version : version du script, installé et en ligne
--irc : inscription gfetch dans .bashrc (root requis)
--rrc : désinscription gfetch dans .bashrc (root requis)
-----------------------------------------------------------------------
plus d'infos: https://framaclic.org/h/doc-getinfo
......
......@@ -12,20 +12,20 @@ de téléchargement) seront alors sous la forme `getInfo ...`.
__ _ ___| |_|_ _|_ __ / _| ___
/ _' |/ _ \ __|| || '_ \| |_ / _ \
| (_| | __/ |_ | || | | | _| (_) |
\__, |\___|\__|___|_| |_|_| \___/ -c
|___/ version 4.9.0 - 20/06/2018
\__, |\___|\__|___|_| |_|_| \___/ $ -c
|___/ version 4.12.0 - 26/06/2018
getInfo -h : afficher l'aide
getInfo -cs : catégorie système getInfo -cc : catégorie configuration
(matériel détecté, disque,...) (locale, pakager, ...)
getInfo -cr : catégorie réseau getInfo -ca : catégorie analyse
(config réseau, Network Manager) (journaux Xorg, système)
les catégories peuvent être cumulées:
getInfo -csa générera un rapport sur le système & l'analyse
( ne pas saisir le préfixe -c, all par défaut)
choix des catégories à générer (all pour toutes)?
( ne pas saisir le préfixe -c, all par défaut)
```
......@@ -43,7 +43,7 @@ de téléchargement) seront alors sous la forme `getInfo ...`.
* l'option supplémentaire `-t n` permet de remplacer la durée de conservation **standard de 7 jours** par
**n** jours (par exemple -t 1: le paste sera effacé au bout de 1 jour)
* `getInfo -us` (update spécial), le script est mis à jour là où il est, sans installation pré-requise
* `gfetch` lanceur sur `getInfo --rc` ( si script installé )
* `gfetch` lanceur de `getInfo --rc`, si script installé
## options diverses
......@@ -57,16 +57,19 @@ de téléchargement) seront alors sous la forme `getInfo ...`.
* `getInfo --ssid` affiche seulement (pas de rapport construit) la configuration des ssid de NetworkManager.
Attention, cela affichera probablement les mot de passe des réseaux wifi configurés.
les **droits root** sont requis
* `getInfo --rc` affiche un résumé rapide en console. cette appel est, si possible, inscrit dans le fichier -bashrc_ lors de l'installation du script. le résumé sera donc affiché lors de la connexion à une console, comme [neofetch par exemple](https://github.com/dylanaraps/neofetch). cette appel est aussi accessible via la commande `gfetch`.
* `getInfo --rc` affiche un résumé rapide en console.
## gfetch, remarques
si installé (`getInfo --irc`), un lanceur `gfetch` est créé
si un fichier _bashrc_ est trouvé, le lanceur est ajouté: un résumé système s'affiche lors de l'ouverture d'un terminal
pour désinstaller: `getInfo -rrc`
À l'installation de getinfo, un lanceur `gfetch` est créé. Lancé manuellement, il affichera un résumé système dans le terminal.
Avec `getInfo --irc`, `gfetch` est inscrit dans le .bashrc système. A l'ouverture d'un terminal, le résumé système est affiché.
Pour enlever cette inscription: `getInfo -rrc`
si le script getInfo est installé `getInfo -i`, le lancement manuel de `getInfo --rc` affiche un résumé système dans le terminal. le lanceur gfetch n'existe pas
Avec une philosophie différente, le principe est celui de [neofetch](https://github.com/dylanaraps/neofetch), lui même un fork
très actif de [screenfetch](https://github.com/KittyKatt/screenFetch).
## installation du script
......@@ -74,14 +77,15 @@ si le script getInfo est installé `getInfo -i`, le lancement manuel de `getInfo
Une fois installé, le script est accessible à tous les utilisateurs. Un test hebdomadaire est effectué et le
script est mis à jour si une nouvelle version est disponible.
* `./getInfo -i` **droits root** requis. Installation du script dans le système. Le script téléchargé sera
effacé du répertoire courant. Le lancement se fera donc par `getInfo`. le lanceur `gfetch` est ajouté au système et inscrit dans un des fichiers suivants: `/etc/bash.bashrc` (debian) ou `/etc/bashrc` (redhat) ou `/etc/bash.bashrc.local` (suse)
* `getInfo --irc` **droits root** requis. Installation `gfetch` seule (lanceur et inscription bashrc)
* `getInfo -r` **droits root** requis. effacement du script dans le système (_/opt/bin_)
* `getInfo --rrc` **droits root** requis. Désinstallation `gfetch` seule (lanceur et inscription bashrc)
* `getInfo -u` Mise à jour du script. Cette opération est automatiquement lancée toutes les semaines
si le script est installé.
* `getInfo -v` Affiche la version du script et la version en ligne.
* `./getInfo -i` **droits root** requis. Installation du script dans le système. Le script téléchargé sera
effacé du répertoire courant. Le lancement se fera donc par `getInfo`. le lanceur `gfetch` est ajouté au système
* `getInfo -r` **droits root** requis. Effacement du script dans le système (_/opt/bin_)
* `getInfo --irc` **droits root** requis. Inscription de `gfetch` dans bashrc: `/etc/bash.bashrc` (debian) ou `/etc/bashrc` (redhat) ou `/etc/bash.bashrc.local` (suse)
* `getInfo --rrc` **droits root** requis. Désinscription `gfetch` dans .bashrc
* `getInfo -u` Mise à jour du script installé dans le système. Cette opération est automatiquement lancée toutes les semaines.
* `getInfo -v` Affiche la version du script, installé et en ligne.
`
tous les évènements importants sont consignés dans le fichier _/var/log/sdeb_getInfo.log_
```shell
......
# ipupdate
![version: 1.4.1](https://img.shields.io/badge/version-1.4.1-blue.svg?longCache=true&style=for-the-badge)
![version: 1.5.0](https://img.shields.io/badge/version-1.5.0-blue.svg?longCache=true&style=for-the-badge)
![bash langage](https://img.shields.io/badge/bash-4-brightgreen.svg?longCache=true&style=for-the-badge)
![license LPRAB / WTFPL](https://img.shields.io/badge/license-LPRAB%20%2F%20WTFPL-blue.svg?longCache=true&style=for-the-badge)
......@@ -75,25 +75,25 @@ cp ipupdate.conf.sample ipupdate.conf
(_)_ __ _ _ _ __ __| | __ _| |_ ___
| | '_ \| | | | '_ \ / _' |/ _' | __/ _ \
| | |_) | |_| | |_) | (_| | (_| | || __/
|_| .__/ \__,_| .__/ \__,_|\__,_|\__\___| -h
|_| |_| 1.4.0 20/06/2018
|_| .__/ \__,_| .__/ \__,_|\__,_|\__\___|
|_| |_| 1.5.0 22/06/2018
usage : ipupdate [options] ( les options et les arguments doivent etre séparés par 1 espace )
sans option : tous les services configurés sont vérifiés et une éventuelle nouvelle
adresse IP est publiée si changement (root requis)
--debug : affichage mode verbeux (publication, session smtp)
--dev : utilisation branche dev pour mise à jour ou n° de version
sans option : tous les services configurés sont vérifiés et une éventuelle nouvelle
adresse IP est publiée si changement (root requis)
--debug : affichage mode verbeux (publication, session smtp)
--dev : utilisation branche dev pour mise à jour ou n° de version
--service <service> : réduit les actions sur un seul <service> de DNS dynamique
-c, --clear : efface l'ip dans la zone DNS (ou mise en mode hors-ligne) (root requis)
(voir à désinstaller ou désactiver l'exécution périodique)
-f, --force : force les mises à jours des DNS dynamiques (root requis)
-f --service <example> forcera uniquement le service <example>
-h, --help : cette aide
-i, --install: installation (root requis)
-r, --remove : désinstallation (root requis)
-u, --upgrade: provoque le chargement et le remplacement du script en place (root requis)
-v, --version: version du script en ligne et en place
-c, --clear : efface l'ip dans la zone DNS (ou mise en mode hors-ligne) (root requis)
(voir à désinstaller ou désactiver l'exécution périodique)
-f, --force : force les mises à jours des DNS dynamiques (root requis)
-f --service <exemple> forcera uniquement le service <exemple>
-h, --help : cette aide
-i, --install : installation (root requis)
-r, --remove : désinstallation (root requis)
-u, --upgrade : provoque le chargement et le remplacement du script installé (root requis)
-v, --version : version du script en ligne et installé
script dir : /opt/bin/
conf file : /etc/ipupdate.conf
......
# nstest
![version: 1.8.0](https://img.shields.io/badge/version-1.8.0-blue.svg?longCache=true&style=for-the-badge)
![version: 1.9.0](https://img.shields.io/badge/version-1.9.0-blue.svg?longCache=true&style=for-the-badge)
![bash langage](https://img.shields.io/badge/bash-4-brightgreen.svg?longCache=true&style=for-the-badge)
![license LPRAB / WTFPL](https://img.shields.io/badge/license-LPRAB%20%2F%20WTFPL-blue.svg?longCache=true&style=for-the-badge)
......@@ -29,7 +29,7 @@ It can be exported the report on a pastebin for easy exchange.
| '_ \/ __| __/ _ \/ __| __|
| | | \__ \ || __/\__ \ |_
|_| |_|___/\__\___||___/\__| -h
version: 1.8.0 20/06/2018
version: 1.9.0 22/06/2018
usage: nstest [options] ( options and arguments must be SEPARATED by one space )
......@@ -46,9 +46,13 @@ It can be exported the report on a pastebin for easy exchange.
--nosort : no sorted report on average column
--opt : print list of dns servers and domains used for tests
-h, --help : this help
-s, --sort : sort on domain number
-u, --upgrade : load and replace the script in place
-v, --version : version of the script online and in place
-s, --sort : sort on domain number (if no -c option)
-us : load and replace the script in place
-v, --version : version of the script online
-i, --install : installation (root required)
-r, --remove : uninstallation (root required)
-u, --upgrade : download and update of installed script (root required)
examples:
./ntest : full report, with nameservers in /etc/resolv.conf and few open DNS servers
......@@ -56,7 +60,7 @@ It can be exported the report on a pastebin for easy exchange.
./ntest -e --noresolv : export on a pastebin, to exchange a test
./ntest --noresolv -d easy : full report, with domains to test easy, performances are better (responses in cache DNS)
./ntest -h -d alt : this help, with domain list alt(ernative)
./ntest --opt : displays all parameters
./ntest --opt --noresolv : displays all parameters, without resolv.conf
./ntest --sort 5 : sort on domain number 5
./ntest --bench --noresolv : bench for all open DNS, protocols configured in the net layer
./ntest --bench --nodns : bench for names's servers in resolv.conf, protocols configured in the net layer
......@@ -125,7 +129,6 @@ Depending on the domains, the response times may differ significantly
[LPRAB / WTFPL](https://framagit.org/sdeb/nstest/blob/master/LICENSE.md)
## bench
[voir bench.md](bench.md)
......
# pastit
![version: 0.4.0](https://img.shields.io/badge/version-0.4.0-blue.svg?longCache=true&style=for-the-badge)
![version: 0.5.0](https://img.shields.io/badge/version-0.5.0-blue.svg?longCache=true&style=for-the-badge)
![bash langage](https://img.shields.io/badge/bash-4-brightgreen.svg?longCache=true&style=for-the-badge)
![license LPRAB / WTFPL](https://img.shields.io/badge/license-LPRAB%20%2F%20WTFPL-blue.svg?longCache=true&style=for-the-badge)
* un fichier texte est exporté sur _pastery.net_, avec coloration syntaxique correspondant au type détecté
* un fichier binaire de moins de 100ko est exporté sur _tranfer.sh_ pour être téléchargeable
* temps de conservation non réglable de 14 jours
* un fichier binaire de plus de 100ko est exporté sur _dl.free.fr_ pour être téléchargeable ( A VENIR )
* temps de conservation non réglage de 30 jours après le dernier téléchargement
## chargement et lancement du script:
```shell
......@@ -24,7 +32,7 @@ chmod +x pastit
| |_) / _' / __| __|/| | __|
| __/ (_| \__ \ |_ | | |_
|_| \__,_|___/\__| |_|\__|
version 0.3.0 - 19/06/2018
version 0.5.0 - 21/06/2018
fichier markdown
lien paste: https://www.pastery.net/hctntk/ (valide pendant 7 jours)
......@@ -43,7 +51,7 @@ chmod +x pastit
| |_) / _' / __| __|/| | __|
| __/ (_| \__ \ |_ | | |_
|_| \__,_|___/\__| |_|\__|
version 0.3.0 - 19/06/2018
version 0.5.0 - 22/06/2018
Usage:
pastit [options] <file>
......@@ -54,6 +62,7 @@ chmod +x pastit
-i, --install : installation (root requis)
-r, --remove : désinstallation (root requis)
-u, --upgrade : provoque le chargement et le remplacement du script installé (root requis)
-us : upgrade spécial du script en place (sans être installé)
-v, --version : version du script en ligne et en place
--debug-paste : affichage retour json de de l'export sur pastebin
......@@ -65,6 +74,13 @@ chmod +x pastit
```
## pastebins
* [pastery.net](https://www.pastery.net/) pastebin
* [transfer.sh](https://transfer.sh/) pastebin avec capacité de fichiers binaires, mais fonctionnalités limitées
* [markdownshare.com](https://markdownshare.com/)
## sources
[framagit (gitlab) (framasoft service)](https://framagit.org/sdeb/pastit/blob/master/pastit)
......
This diff is collapsed.
......@@ -37,6 +37,6 @@ manage OpenNic DNS in resolv.conf
speed test of open dns
## pasthis
## pastit
export to a pastebin wtih command line
export to a pastebin with command line
#!/bin/bash
version=4.24.2
date="13/06/2018"
version=4.25.0
date="26/06/2018"
script="getFirefox"
#contact="IRC ##sdeb@freenode.net ou https://framagit.org/sdeb/getFirefox/issues"
......@@ -1162,7 +1162,7 @@ for i in "${!options[@]}"; do # deuxième passe options, actions
-u | --upgrade ) # upgrade script & personnalisations
operation="upgrade"
fscript_update std # std argument obligatoire pour upgrade normal
ffx_pers_upgradeq
ffx_pers_upgrade
exit ;;
-v | --version ) # version du script, en ligne et en place
fscript_get_version ;;
......
#!/bin/bash
version=2.15.1
date="18/06/2018"
version=2.15.1b
date="25/06/2018"
script="getIp"
# contact="IRC ##sdeb@freenode.net ou https://framagit.org/sdeb/getIp/issues"
......@@ -518,12 +518,12 @@ f_n_cnx(){ # 17/06/2018
# dig has priority over drill if the two command are presents
# type : aaaa | a | txt | soa | mx | AAAA | A | TXT | SOA | MX , A by default
# option nostd, for dig only: +timeout=1 +retry=1
f_n_dig(){ # 18/06/2018
local ini options type='A' server hostname cmd line ip
f_n_dig(){ # 23/06/2018
local shopt_ini options type='A' server hostname cmd line ip
! type -p dig &>/dev/null && ! type -p drill &>/dev/null && return 1
(( $# == 0 )) || [ "$1" == test ] && return
ini=$( shopt -p nocasematch )
shopt_ini=$( shopt -p )
shopt -s nocasematch
while (( $# )) ; do
case "$1" in
......@@ -554,7 +554,7 @@ f_n_dig(){ # 18/06/2018
fi
ip=${ip%\"} # txt
ip=${ip#\"} # txt
eval "$ini"
eval "$shopt_ini"
echo "$ip"
if [ "$ip" == "n/a" ]; then
return 1
......@@ -564,12 +564,12 @@ f_n_dig(){ # 18/06/2018
# options: hostname [@server|type|nostd], display ip | n/a (equivalent to dig + short), return 0|1
# type : aaaa | a | txt | soa | mx | AAAA | A | TXT | SOA | MX , A by default
# option nostd: -R1 -W1
f_n_host(){ # 18/06/2018
local ini type='A' options server hostname ip line
f_n_host(){ # 23/06/2018
local shopt_ini type='A' options server hostname ip line
! type -p host &>/dev/null && return 1
(( $# == 0 )) || [ "$1" == test ] && return
ini=$( shopt -p nocasematch )
shopt_ini=$( shopt -p )
shopt -s nocasematch
while (( $# )) ; do
case "$1" in
......@@ -593,7 +593,7 @@ f_n_host(){ # 18/06/2018
[[ $ip =~ has\ no\ $type\ record ]] && ip='no record'
ip=${ip%\"} # txt
ip=${ip#\"} # txt
eval "$ini"
eval "$shopt_ini"
echo "$ip"
if [[ "$ip" == 'not found' || "$ip" == 'no record' ]]; then
return 1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment