14 liens privés
IDENTIFICATION DIVISION.
PROGRAM-ID. EnvExample.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 APP-MODE PIC X(10).
PROCEDURE DIVISION.
ACCEPT APP-MODE FROM ENVIRONMENT "APP_MODE"
DISPLAY "Mode d'exécution : " APP-MODE
STOP RUN.En bash, pour rediriger la sortie dans un fichier, on utilise le symbole >... Ajouter set -o noclobber
dans .bashrc empêchera > d'écraser un fichier existant lors d'une commande tapée à la main. Pour y arriver, il faudra utiliser >| pour forcer.
2>&1 - Fusionner erreurs et sortie normale
&1 dit à bash "le 1 c'est un file descriptor, pas un fichier qui s'appelle littéralement 1". Du coup stderr (2) est redirigé vers le même endroit que stdout (1), ou plutôt vers là où stdout pointe au moment où bash évalue la ligne.
Attention à l'ordre ! Bash lit les redirections de gauche à droite.
> output.log 2>&1 -> stdout pointe vers le fichier, puis stderr suit... tout va dans le fichier.
2>&1 > output.log -> stderr copie stdout qui pointe ENCORE vers le terminal, puis stdout est redirigé vers le fichier. Résultat, les erreurs restent dans votre terminal.
Et &> fait la même chose en plus court : commande &> output.log. C'est super pratique, mais spécifique à bash / zsh.
Le plugin Back to close ne fonctionne plus sous Firefox :-(
Pour y remédier, il faut aller dans about:config et forcer la valeur de browser.navigation.requireUserInteraction à false.
Un grand guide de sécurisation de Linux plutôt orientée Debian.
Résultat au quiz : 15/21
À vérifier, mais il me semble qu'il y a deux erreurs dans les réponses...
À lire.
Il est possible de faire pivoter une table.
You can use GROUPING SETS, ROLLUP, and CUBE clauses of the GROUP BY clause in subselect queries.
SQL offre la possibilité de faire des requêtes avec des regroupements et des sous-totaux intermédiares et un total !
Avec DB2, il ne faut pas inclure de jointure dans les requêtes récursives, mais poser une clause WHERE👎🙄
CTE : Common Table Expression
En gros, on utilise la directive SQL WITH et on joue avec la récursivité.
WITH RECURSIVE TMP (id) as (
SELECT id
FROM personne
WHERE nom='Toto'
UNION ALL
SELECT id
FROM personne
JOIN TMP ON personne.id_parent = TMP.id
)
SELECT personne.id, nom
FROM TMP
JOIN personne ON personne.id = TMP.id
Renvoie la liste des enfants, petits enfants, arrières petits enfants, etc. de Toto.