03-04-2020
This commit is contained in:
@@ -24,96 +24,47 @@ declare -i i; i+=1 user 0m0.492s
|
|||||||
i=0; i=$(expr $i + 1) user 0m5.464s
|
i=0; i=$(expr $i + 1) user 0m5.464s
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#### [Chaine de caractères:](strings.md)
|
||||||
|
|
||||||
##### Concaténer une chaine:
|
##### Concaténer une chaine:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
upd+="$name "
|
upd+="$name "
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Trim une chaine:
|
|
||||||
|
|
||||||
##### 1. sed
|
|
||||||
|
#### Chemins:
|
||||||
|
|
||||||
|
Répertoire courant (pwd) , nom du script (basename), répertoire du script (dirname)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ var=" Une chaine entourée d'espaces "
|
~/Documents/go $ nano chemins.sh
|
||||||
|
|
||||||
$ echo "Fluctuat nec $var mergitur"
|
#!/usr/local/bin/bash
|
||||||
Fluctuat nec Une chaine entourée d'espaces mergitur
|
echo "Le script exécuté a comme basename `basename "$0"`, dirname `dirname "$0"`"
|
||||||
|
echo "Le répertoire courant est `pwd`"
|
||||||
|
|
||||||
# supprimer les espaces en fin de chaine: sed 's/ *$//g'`
|
~/Documents/go $ ./chemins.sh
|
||||||
$ var=`echo $var | sed 's/ *$//g'`
|
Le script exécuté a comme basename chemins.sh, dirname .
|
||||||
|
Le répertoire courant est /Users/bruno/Documents/go
|
||||||
|
|
||||||
$ echo "Fluctuat nec $var mergitur"
|
cd ..
|
||||||
Fluctuat nec Une chaine entourée d'espaces mergitur
|
~/Documentsr $ go/chemins.sh
|
||||||
|
Le script exécuté a comme basename chemins.sh, dirname go
|
||||||
|
Le répertoire courant est /Users/bruno/Documents
|
||||||
|
|
||||||
# supprimer les espaces en début de chaine: sed 's/^ *//g'`
|
cd ~
|
||||||
$ var=`echo $var | sed 's/^ *//g'`
|
~ $ /Users/bruno/Documents/go/chemins.sh
|
||||||
|
Le script exécuté a comme basename chemins.sh, dirname /Users/bruno/Documents/go
|
||||||
$ echo "Fluctuat nec $var mergitur"
|
Le répertoire courant est /Users/bruno
|
||||||
Fluctuat nec Une chaine entourée d'espaces mergitur
|
|
||||||
|
|
||||||
# supprimer les espaces en début et fin de chaine:
|
|
||||||
|
|
||||||
$ var=" Une chaine entourée d'espaces "
|
|
||||||
$ echo "$var" | sed 's/^[[:blank:]]*//;s/[[:blank:]]*$//'
|
|
||||||
Une chaine entourée d'espaces
|
|
||||||
```
|
|
||||||
|
|
||||||
##### 2. awk
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ echo "${var}"
|
|
||||||
Une chaine entourée d'espaces
|
|
||||||
|
|
||||||
$ echo "${var}" | awk '{gsub(/^[ \t]+/,""); print $0, " fin" }'
|
|
||||||
Une chaine entourée d'espaces fin
|
|
||||||
|
|
||||||
$ echo "${var}" | awk '{gsub(/[ \t]+$/,""); print $0, " fin" }'
|
|
||||||
Une chaine entourée d'espaces fin
|
|
||||||
|
|
||||||
$ echo "${var}" | awk '{gsub(/^[ \t]+| [ \t]+$/,""); print $0, " fin" }'
|
|
||||||
Une chaine entourée d'espaces fin
|
|
||||||
```
|
|
||||||
|
|
||||||
##### 3. xargs
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ var=" Une chaine entourée d espaces "
|
|
||||||
|
|
||||||
$ echo "$var" | xargs
|
|
||||||
Une chaine entourée d espaces
|
|
||||||
|
|
||||||
$ echo " Une chaine entourée d espaces " | xargs
|
|
||||||
Une chaine entourée d espaces
|
|
||||||
|
|
||||||
# erreur si la chaine contient un apostrophe
|
|
||||||
$ echo " Une chaine entourée d'espaces " | xargs
|
|
||||||
xargs: unterminated quote
|
|
||||||
|
|
||||||
# dans ce cas, on utilise xargs -0
|
|
||||||
$ echo " Une chaine entourée d'espaces " | xargs -0
|
|
||||||
Une chaine entourée d'espaces
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### Longueur d'une chaine:
|
#### [Tableaux:](tableaux.md)
|
||||||
|
|
||||||
```bash
|
|
||||||
$ echo -n "Longueur de la chaine:" | wc -c
|
|
||||||
22
|
|
||||||
|
|
||||||
$ echo "Longueur de la chaine:" | awk '{print length}'
|
|
||||||
22
|
|
||||||
|
|
||||||
$ var="Longueur de la chaine:"
|
|
||||||
$ echo ${#var}
|
|
||||||
22
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Déclarer un tableau associatif:
|
Déclarer un tableau associatif:
|
||||||
|
|
||||||
@@ -123,6 +74,8 @@ declare -a do_not_update=('')
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#### Commandes:
|
||||||
|
|
||||||
##### Test si une commande existe:
|
##### Test si une commande existe:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
150
docs/Divers/bash/strings.md
Normal file
150
docs/Divers/bash/strings.md
Normal file
@@ -0,0 +1,150 @@
|
|||||||
|
# Chaine de caractères:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
##### Concaténer une chaine:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
upd+="$name "
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
##### Trim une chaine:
|
||||||
|
|
||||||
|
1. sed
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ var=" Une chaine entourée d'espaces "
|
||||||
|
|
||||||
|
$ echo "Fluctuat nec $var mergitur"
|
||||||
|
Fluctuat nec Une chaine entourée d'espaces mergitur
|
||||||
|
|
||||||
|
# supprimer les espaces en fin de chaine: sed 's/ *$//g'`
|
||||||
|
$ var=`echo $var | sed 's/ *$//g'`
|
||||||
|
|
||||||
|
$ echo "Fluctuat nec $var mergitur"
|
||||||
|
Fluctuat nec Une chaine entourée d'espaces mergitur
|
||||||
|
|
||||||
|
# supprimer les espaces en début de chaine: sed 's/^ *//g'`
|
||||||
|
$ var=`echo $var | sed 's/^ *//g'`
|
||||||
|
|
||||||
|
$ echo "Fluctuat nec $var mergitur"
|
||||||
|
Fluctuat nec Une chaine entourée d'espaces mergitur
|
||||||
|
|
||||||
|
# supprimer les espaces en début et fin de chaine:
|
||||||
|
|
||||||
|
$ var=" Une chaine entourée d'espaces "
|
||||||
|
$ echo "$var" | sed 's/^[[:blank:]]*//;s/[[:blank:]]*$//'
|
||||||
|
Une chaine entourée d'espaces
|
||||||
|
```
|
||||||
|
|
||||||
|
2. awk
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ echo "${var}"
|
||||||
|
Une chaine entourée d'espaces
|
||||||
|
|
||||||
|
$ echo "${var}" | awk '{gsub(/^[ \t]+/,""); print $0, " fin" }'
|
||||||
|
Une chaine entourée d'espaces fin
|
||||||
|
|
||||||
|
$ echo "${var}" | awk '{gsub(/[ \t]+$/,""); print $0, " fin" }'
|
||||||
|
Une chaine entourée d'espaces fin
|
||||||
|
|
||||||
|
$ echo "${var}" | awk '{gsub(/^[ \t]+| [ \t]+$/,""); print $0, " fin" }'
|
||||||
|
Une chaine entourée d'espaces fin
|
||||||
|
```
|
||||||
|
|
||||||
|
3. xargs
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ var=" Une chaine entourée d espaces "
|
||||||
|
|
||||||
|
$ echo "$var" | xargs
|
||||||
|
Une chaine entourée d espaces
|
||||||
|
|
||||||
|
$ echo " Une chaine entourée d espaces " | xargs
|
||||||
|
Une chaine entourée d espaces
|
||||||
|
|
||||||
|
# erreur si la chaine contient un apostrophe
|
||||||
|
$ echo " Une chaine entourée d'espaces " | xargs
|
||||||
|
xargs: unterminated quote
|
||||||
|
|
||||||
|
# dans ce cas, on utilise xargs -0
|
||||||
|
$ echo " Une chaine entourée d'espaces " | xargs -0
|
||||||
|
Une chaine entourée d'espaces
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
##### Longueur d'une chaine:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ echo -n "Longueur de la chaine:" | wc -c
|
||||||
|
22
|
||||||
|
|
||||||
|
$ echo "Longueur de la chaine:" | awk '{print length}'
|
||||||
|
22
|
||||||
|
|
||||||
|
$ var="Longueur de la chaine:"
|
||||||
|
$ echo ${#var}
|
||||||
|
22
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
##### Sous-chaine:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ string=abcABC123ABCabc
|
||||||
|
|
||||||
|
$ echo ${string:0}
|
||||||
|
abcABC123ABCabc
|
||||||
|
|
||||||
|
$ echo ${string:1}
|
||||||
|
bcABC123ABCabc
|
||||||
|
|
||||||
|
$ echo ${string:7}
|
||||||
|
23ABCabc
|
||||||
|
|
||||||
|
$ echo ${string:7:3}
|
||||||
|
23A
|
||||||
|
|
||||||
|
$ echo ${stringZ: -4} # Notez l'espace
|
||||||
|
Cabc
|
||||||
|
|
||||||
|
$ echo ${string:(-4)}
|
||||||
|
Cabc
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Remplacement de sous-chaine:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ string=abcABC123ABCabc
|
||||||
|
|
||||||
|
$ echo ${string/abc/xyz} # Remplace la 1ere sous-chaine 'abc' par 'xyz'.
|
||||||
|
xyzABC123ABCabc
|
||||||
|
|
||||||
|
$ echo ${string//abc/xyz} # Remplace toutes les sous-chaine 'abc' par 'xyz'.
|
||||||
|
xyzABC123ABCxyz
|
||||||
|
|
||||||
|
match=abc
|
||||||
|
repl=000
|
||||||
|
echo ${string/$match/$repl}
|
||||||
|
000ABC123ABCabc
|
||||||
|
|
||||||
|
echo ${string//$match/$repl}
|
||||||
|
000ABC123ABC000
|
||||||
|
|
||||||
|
|
||||||
|
echo ${stringZ/abc} # Supprime la 1ere sous-chaine 'abc'
|
||||||
|
ABC123ABCabc
|
||||||
|
echo ${stringZ//abc} # Supprime toutes les sous-chaine 'abc'
|
||||||
|
ABC123ABC
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
http://tldp.org/LDP/abs/html/string-manipulation.html
|
||||||
|
|
||||||
@@ -59,10 +59,15 @@ L’affichage de l’ensemble d’un tableau se fait avec la syntaxe `${montable
|
|||||||
$ declare -a tableau_indi=( "un" "deux" "trois" "quatre" )
|
$ declare -a tableau_indi=( "un" "deux" "trois" "quatre" )
|
||||||
$ echo ${tableau_indi[@]}
|
$ echo ${tableau_indi[@]}
|
||||||
un deux trois quatre
|
un deux trois quatre
|
||||||
|
$ echo ${tableau_indi[2]}
|
||||||
|
deux
|
||||||
|
|
||||||
|
|
||||||
$ declare -A tableau_asso=( ['chene']="gland" ['erable']="sirop" ['hetre']="faine" )
|
$ declare -A tableau_asso=( ['chene']="gland" ['erable']="sirop" ['hetre']="faine" )
|
||||||
$ echo ${tableau_asso[@]}
|
$ echo ${tableau_asso[@]}
|
||||||
gland faine sirop
|
gland faine sirop
|
||||||
|
$ echo ${tableau_asso[erable]}
|
||||||
|
sirop
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
@@ -80,11 +85,13 @@ un deux trois quatre # !!! normalement 'un'
|
|||||||
$ declare -A tableau_asso=( ['chene']="gland" ['erable']="sirop" ['hetre']="faine" )
|
$ declare -A tableau_asso=( ['chene']="gland" ['erable']="sirop" ['hetre']="faine" )
|
||||||
$ echo ${tableau_asso["erable"]}
|
$ echo ${tableau_asso["erable"]}
|
||||||
# !!!! rien sur zsh !!!!
|
# !!!! rien sur zsh !!!!
|
||||||
|
$ echo ${tableau_asso[erable]}
|
||||||
|
sirop
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Ajouter un élément:
|
#### Ajouter un élément:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ARRAY=()
|
ARRAY=()
|
||||||
@@ -109,7 +116,7 @@ Il n’est pas possible de créer un tableau associatif en lui assignant un él
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Afficher la liste des clés:
|
#### Afficher la liste des clés:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ declare -a tableau_indi=( "un" "deux" "trois" "quatre" )
|
$ declare -a tableau_indi=( "un" "deux" "trois" "quatre" )
|
||||||
@@ -125,7 +132,7 @@ zsh: event not found: tableau_asso[@] # !!!
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Obtenir la taille d'un tableau:
|
#### Obtenir la taille d'un tableau:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ declare -a tableau_indi=( "un" "deux" "trois" "quatre" )
|
$ declare -a tableau_indi=( "un" "deux" "trois" "quatre" )
|
||||||
@@ -139,7 +146,7 @@ $ echo ${#tableau_asso[@]}
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Supprimer un élément:
|
#### Supprimer un élément:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ declare -a tableau_indi=( "un" "deux" "trois" "quatre" )
|
$ declare -a tableau_indi=( "un" "deux" "trois" "quatre" )
|
||||||
@@ -174,7 +181,7 @@ gland faine sirop
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Supprimer un tableau entier:
|
#### Supprimer un tableau entier:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ declare -a tableau_indi=( "un" "deux" "trois" "quatre" )
|
$ declare -a tableau_indi=( "un" "deux" "trois" "quatre" )
|
||||||
|
|||||||
@@ -51,6 +51,45 @@ updating: https://github.com/zdharma/fast-syntax-highlighting
|
|||||||
updating: https://github.com/zsh-users/zsh-autosuggestions
|
updating: https://github.com/zsh-users/zsh-autosuggestions
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Si erreur pendant la mise-à-jour:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ antibody update
|
||||||
|
Updating all bundles in /Users/bruno/Library/Caches/antibody...
|
||||||
|
antibody: updating: https://github.com/zsh-users/zsh-history-substring-search
|
||||||
|
antibody: updating: https://github.com/sindresorhus/pure
|
||||||
|
antibody: updating: https://github.com/mafredri/zsh-async
|
||||||
|
antibody: updating: https://github.com/zsh-users/zsh-autosuggestions
|
||||||
|
antibody: updating: https://github.com/zsh-users/zsh-completions
|
||||||
|
antibody: updating: https://github.com/marzocchi/zsh-notify
|
||||||
|
antibody: updating: https://github.com/zdharma/fast-syntax-highlighting
|
||||||
|
antibody: git update failed for /Users/bruno/Library/Caches/antibody/https-COLON--SLASH--SLASH-github.com-SLASH-zdharma-SLASH-fast-syntax-highlighting
|
||||||
|
antibody: git update failed for /Users/bruno/Library/Caches/antibody/https-COLON--SLASH--SLASH-github.com-SLASH-marzocchi-SLASH-zsh-notify
|
||||||
|
antibody: git update failed for /Users/bruno/Library/Caches/antibody/https-COLON--SLASH--SLASH-github.com-SLASH-zsh-users-SLASH-zsh-autosuggestions
|
||||||
|
antibody: git update failed for /Users/bruno/Library/Caches/antibody/https-COLON--SLASH--SLASH-github.com-SLASH-sindresorhus-SLASH-pure
|
||||||
|
antibody: git update failed for /Users/bruno/Library/Caches/antibody/https-COLON--SLASH--SLASH-github.com-SLASH-zsh-users-SLASH-zsh-completions
|
||||||
|
antibody: error: failed to update: object not found
|
||||||
|
```
|
||||||
|
|
||||||
|
il faut vider le cache:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
~/Library/Caches/antibody
|
||||||
|
❯ rm -rf https-COLON*
|
||||||
|
|
||||||
|
# ou
|
||||||
|
|
||||||
|
rm -rf "$(antibody home)"
|
||||||
|
```
|
||||||
|
|
||||||
|
puis les recharger:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ antibody bundle < ~/.zsh_plugins.txt > ~/.zsh_plugins.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
##### Liste des plugins/thèmes installés:
|
##### Liste des plugins/thèmes installés:
|
||||||
@@ -86,3 +125,16 @@ drwxr-xr-x 12 bruno staff 384 7 jui 18:08 https-COLON--SLASH--SLASH-github
|
|||||||
drwxr-xr-x 7 bruno staff 224 7 jui 18:01 https-COLON--SLASH--SLASH-github.com-SLASH-zsh-users-SLASH-zsh-history-substring-search
|
drwxr-xr-x 7 bruno staff 224 7 jui 18:01 https-COLON--SLASH--SLASH-github.com-SLASH-zsh-users-SLASH-zsh-history-substring-search
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Z plugin (jump around)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
https://github.com/rupa/z
|
||||||
|
|
||||||
|
Copier le script `z.sh` dans `/usr/local/etc/profile.d/`
|
||||||
|
|
||||||
|
puis ajouter `. /usr/local/etc/profile.d/z.sh` au fichier .zshrc
|
||||||
40
docs/macos/Divers/Hackintosh.md
Normal file
40
docs/macos/Divers/Hackintosh.md
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
# Hackintosh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Darkwake - Powernap - Power Management - Sleep & wake (Catalina)](https://www.insanelymac.com/forum/topic/342002-darkwake-on-macos-catalina-boot-args-darkwake8-darkwake10-are-obsolete/)
|
||||||
|
|
||||||
|
#### Darkwake:
|
||||||
|
|
||||||
|
Par défaut Catalina 10.5.1: `Darkwake = 3`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#### Power Management:
|
||||||
|
|
||||||
|
Réglages courants:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pmset -g
|
||||||
|
```
|
||||||
|
|
||||||
|
Réglages recommandés:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo pmset -a hibernatemode 0
|
||||||
|
sudo pmset -a proximitywake 0
|
||||||
|
sudo pmset -a powernap 0
|
||||||
|
```
|
||||||
|
|
||||||
|
Voir ce qui empêche la mise en veille:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pmset -g assertions
|
||||||
|
```
|
||||||
|
|
||||||
|
Historique:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pmset -g log|grep -e " Sleep " -e " Wake "
|
||||||
|
```
|
||||||
|
|
||||||
@@ -30,6 +30,12 @@ Changer le port ssh (22 par défaut) sur macOS:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#### SeKey
|
||||||
|
|
||||||
|
https://github.com/sekey/sekey
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**12.6.1 HTTPS vs SSH**
|
**12.6.1 HTTPS vs SSH**
|
||||||
|
|
||||||
If you think you have SSH set up correctly and yet you are still challenged for credentials, consider this: for the repo in question, have you possibly set up GitHub, probably called origin, as an HTTPS remote, instead of SSH?
|
If you think you have SSH set up correctly and yet you are still challenged for credentials, consider this: for the repo in question, have you possibly set up GitHub, probably called origin, as an HTTPS remote, instead of SSH?
|
||||||
|
|||||||
Reference in New Issue
Block a user