913 private links
Dans ce tutoriel, nous allons apprendre à créer et à manipuler un tableau dans un script Bash. Nous verrons les bases des tableaux en Bash : comment initialiser un tableau, comment ajouter des éléments à ce tableau, mais aussi comment parcourir un tableau avec une boucle For.
Dans les différents langages, les tableaux sont très pratiques pour stocker plusieurs valeurs sous un même nom. Donc, nous pouvons en quelque sorte créer des listes de valeurs. Il y a différents types de tableaux en Bash, notamment des tableaux simples où chaque valeur est associée à un numéro d'index, et des tableaux associatifs où il y a des paires de données (association clé / valeur, où la clé est le texte de votre choix).
If you want to run or update a task when certain files are updated, the
make
utility can come in handy. Themake
utility requires a file,Makefile
(ormakefile
), which defines set of tasks to be executed. You may have usedmake
to compile a program from source code. Most open source projects usemake
to compile a final executable binary, which can then be installed usingmake install
.In this article, we'll explore
make
andMakefile
using basic and advanced examples. Before you start, ensure thatmake
is installed in your system.
J'ai régulièrement le besoin d'écrire des scripts shell un peu évolués. Il y a quelques mois, j'ai commencé à travailler sur un modèle que je met régulièrement à jour. Aujourd'hui, j'ai travaillé sur la couche pour gérer les logs et c'est pourquoi j'écris cet article.
Ce modèle contient les fonctions
usage
ethelp
pour décrire le fonctionnement du programme. La fonctionon_interrupt
permet de gérer le signalSIGINT
quand le programme est interrompu.La fonction
main
est la fonction qui contient le code principal du script. Elle contient la gestion des paramètres passés au script. Par défaut, plusieurs y sont déjà intégrés :-l
pour définir le niveau de log désiré et-h
pour afficher l'aide.Enfin, il y a la fonction
log
pour afficher des messages de debug avec différents niveaux de criticité. Cela permet de générer des messages qui seront affichés ou pas selon les besoins. Les messages sont colorés selon le niveau de criticité et ils sont redirigés versstderr
. Il est également possible d'ajouter la date.
Après les messages et les signaux, voici enfin un nouvel article dans la série Bash avancé. Avec presque deux ans de retard, il serait temps me direz-vous! Mais mieux vaut tard que jamais non?
Cette article me servira de prétexte pour utiliser massivement la commande interne
printf
et vous montrer quelques cas d’usages. Nous verrons aussi la substitution de processus, la substitution de paramètre et d’autres mécanismes offerts par Bash.
L’idée ici est de proposer trois types de messages dans un fichier que nous pourrons ensuite inclure dans nos scripts à l’aide de la commande
source
.Ces messages seront de 3 types différents:
- messages standards envoyés sur la sortie standard
- messages de débogage affichés si une variable
DEBUG
est positionnée et envoyés vers la sortie d’erreur- message d’erreur envoyés sur la sortie d’erreur.
Nous utiliserons quelques spécificité de bash nous permettant d’agrémenter nos sorties.
Ce tutoriel ne suppose aucune connaissance de la programmation de scripts, mais permet une progression rapide vers un niveau intermédiaire/avancé d'instruction tout en se plongeant dans de petites pépites du royaume d'UNIX®. Il est utile comme livre, comme manuel permettant d'étudier seul, et comme référence et source de connaissance sur les techniques de programmation de scripts. Les exercices et les exemples grandement commentés invitent à une participation active du lecteur avec en tête l'idée que la seule façon pour vraiment apprendre la programmation de scripts est d'écrire des scripts.
Ce livre est adapté à une utilisation en classe en tant qu'introduction générale aux concepts de la programmation.
neutre='\e[0;m'
noir='\e[0;30m'
gris='\e[1;30m'
rougefonce='\e[0;31m'
rose='\e[1;31m'
vertfonce='\e[0;32m'
vertclair='\e[1;32m'
orange='\e[0;33m'
jaune='\e[1;33m'
bleufonce='\e[0;34m'
bleuclair='\e[1;34m'
violetfonce='\e[0;35m'
violetclair='\e[1;35m'
cyanfonce='\e[0;36m'
cyanclair='\e[1;36m'
grisclair='\e[0;37m'
blanc='\e[1;37m'
normal='\033[0m'
gras='\033[1m'
fin='\033[2m'
italic='\033[3m'
souligne='\033[4m'
flash='\033[5m'
inverse='\033[7m'
invisible='\033[8m'
echo -e "${rougefonce}Hello${neutre} ${jaune}World${neutre}"
echo -e "${gras}Hello${normal} ${flash}World${normal}"
Create a custom PS1 variable for your Bash
On trouvera dans ce chapitre une initiation pratique au scripting Bash.
Les sections qui suivent dans ce chapitre s’inspirent notamment du livre Scripts shell Linux et Unix de Christophe Blaess qu’il est conseillé d’acquérir. L’ouvrage est orienté embarqué mais convient parfaitement pour un apprentissage précis, rapide, intéressant et dynamique.
Time to use arrays in bash shell scripts in this chapter. Learn to add elements, delete them and get array length.
Bash How-to guides and examples
The AWK command dates back to the early Unix days. It is part of the POSIX standard and should be available on any Unix-like system. And beyond.
While sometimes discredited because of its age or lack of features compared to a multipurpose language like Perl, AWK remains a tool I like to use in my everyday work. Sometimes for writing relatively complex programs, but also because of the powerful one-liners you can write to solve issues with your data files.
#!/bin/bash
#print the list of all text files
ls *.txt
#Iterate the loop to read all text files
for value in `ls *.txt`;
do
#Read the basename of the file
filename=`basename $value .txt`
#Rename all files to doc files
mv $value $filename.doc;
done
#Print all doc files
ls *.doc
The .bashrc is a standard file located in your Linux home directory.
In this article I will show you useful .bashrc options, aliases, functions, and more.
❤️ Lightweight: Crafted with minimalistic UI design.
⚡️ Fast: Send requests and get/copy responses in real-time.
HTTP Methods
GET
- Requests retrieve resource informationPOST
- The server creates a new entry in a databasePUT
- Updates an existing resourcePATCH
- Very similar toPUT
but makes a partial update on a resourceDELETE
- Deletes resource or related componentHEAD
- Retrieve response headers identical to those of a GET request, but without the response body.CONNECT
- Establishes a tunnel to the server identified by the target resourceOPTIONS
- Describe the communication options for the target resourceTRACE
- Performs a message loop-back test along the path to the target resource<custom>
- Some APIs use custom request methods such asLIST
. Type in your custom methods.🌈 Make it yours: Customizable combinations for background, foreground, and accent colors — customize now.
Bash contains features that appear in other popular shells, and some features that only appear in Bash. Some of the shells that Bash has borrowed concepts from are the Bourne Shell (sh), the Korn Shell (ksh), and the C-shell (csh and its successor, tcsh). The following menu breaks the features up into categories, noting which features were inspired by other shells and which are specific to Bash.
Comment conteneuriser une application à l'aide de Docker ? Qu'est-ce qu'un Dockerfile ? Nous allons le découvrir dans cet article.
Character | File Type |
---|---|
- |
Regular file |
b |
Block special file |
c |
Character special file |
C |
High performance ("contiguous data") file |
d |
Directory |
D |
Door (special IPC file in Solaris 2.5+ only) |
l |
Symbolic link |
M |
Off-line ("migrated") file (Cray DMF) |
n |
Network special file (HP-UX) |
p |
FIFO (named pipe) |
P |
Port (special system file in Solaris 10+ only) |
s |
Socket |
? |
Some other file type |