Catégorie : Divers

15 juin 2015 /

La commande source permet de lire et d’exécuter les commandes contenues dans un fichier passé en argument avec l’environnement du shell en cours, puis renvoie le code de retour de la dernière commande exécutée dans le fichier.

En gros, de base, un processus ne peut pas modifier l’environnement de son parent. Il ne peut modifier que son propre environnement. Il peut aussi choisir quel environnement transmettre lors d’un exec.

Quand tu exécutes un script de cette façon « ./script.sh », ton shell devient un fork dans lequel un nouveau shell va exécuter le script. Les variables du script sont placés dans l’environnement du processus fils, pas dans le processus père.

Alors que quand on « source » un fichier, cela demande au shell courant d’interpréter le script qui est passe en argument. Cela ne crée pas de sous-shell. Donc dans ce cas le script modifie bien l’environnement du shell courant.

Note que « .  » est équivalent à « source ».
Au lieu de faire « source script.sh », on peux faire « . ./script.sh ».

Exemple:

. ./script.sh

ou

source ./script.sh

Avec cette commande, on « source » le fichier script.sh contenant des fonctions ou des variables; c’est à dire que les variables contenues dans le fichier « sourcé » deviennent connues pour le shell courant, idem pour les fonctions.

Rappel:

Faites attention,  « ./  » et source ne font pas la même chose.

./script.sh lance le script comme un fichier executable, lancant un nouveau shell pour son execution.
source script.sh lis et execute les commandes/paramètres du fichier passé en argument dans le shell courant

Donc « ./script.sh » n’est pas comme « . script.sh », mais « . script.sh » est pareil que « source script.sh »

 

14 juin 2015 /

Le signe « – » n’est pas en lui-même un opérateur lorsqu’un nom de fichier est attendu, c’est plutôt une option reconnue par certains Unix et Linux. Cela écrit dans la sortie standard (stdout) ou lit dans l’entrée standard (stdin), comme par exemple tar ou cat, mais il y en a d’autre

Voici un exemple avec cat:

echo "salut" | cat -

Cela affichera:

salut

Voici un exemple avec tar:

tar -cvf - /home/starmate | ssh sauvegarde@sauvegarde.home "cat > sauvegarde.tar"

Ici tar va envoyer la création de l’archive dans la sortie standard, qui sera pipée ( | ) via SSH sur le serveur « sauvegarde.home ». Puis son affichage via cat sera redirigé dans un fichier sauvegarde.tar dans le répertoire personnel de l’utilisateur local « sauvegarde ».

Un  » –  » redirige donc la sortie vers stdout ou accepte une entrée de stdin, plutôt qu’un fichier.
Cette méthode est utilisé principalement lorsque l’on juge utile de manipuler des fichiers à travers des tubes.

14 juin 2015 /

Si, par mégarde, vous avez édité un fichier en oubliant de l’avoir ouvert avec sudo, et que donc vous pouvez pas sauvegarder. Ne paniquez pas à l’idée de tout recommencer.
Normalement, il faudrait quitter le ficher et tout recommencer en mettant sudo cette fois.

Pour contourner ce problème sans avoir à quitter votre édition, il suffit de saisir ça :

:w !sudo tee %

Ça peut faire gagner pas mal de temps…

10 juin 2015 /

FarSky est un jeu de survie dans les profondeurs de l’océan. Après le crash de son sous-marin, le joueur doit survivre en construisant une base sous-marine, en récoltant des ressources pour crafter des équipements, armes et autres objets. Le but est d’aller récolter toutes les pièces du sous-marin nécessaires pour le reconstruire et revenir à la surface.


Pour y jouer sur Ubuntu, le jeu a besoin de java pour tourner:

sudo apt-get install openjdk-7-jre

7 juin 2015 /

Nom de code : Linux (anglais : The Code, titre de la version originale) est un documentaire de Hannu Puttonen datant de 2002 qui retrace l’histoire des mouvements GNU, Linux, open source et des logiciels libres et dans lequel plusieurs personnalités de l’informatique sont interviewées, comme Linus Torvalds, Alan Cox, Richard Stallman, Theodore Ts’o ou Eric S. Raymond.

Il explore un univers à priori hermétique, où la science se confond avec l’art. Certaines interventions invitent à penser la programmation informatique comme une nouvelle forme d’expression artistique. Alan Cox par exemple, bras droit de Linus Torvald, élabore une théorie sur le lien social institué par Linux et compare le code source à la poésie, évoquant la beauté de sa structure.

Le réalisateur a également rencontré Richard Stallman, épistémologue et programmeur, précurseur du logiciel libre et véritable penseur du mouvement dit de l’open source. Le documentaire, qui se nourrit de la réflexion générée par le développement de Linux, interroge aussi des programmeurs sur ce qui les pousse à participer à un tel projet. Si, à l’origine, Linux a été conçu pour être gratuit, aujourd’hui, certains développent le logiciel dans un but lucratif.

Le documentaire s’achève par cette assertion : « Ce serait peut-être l’une des plus grandes opportunités manquées de notre époque si le logiciel libre ne libérait rien d’autre que du code. »