Programmation BASH

Comment faire en sorte que BASH vous convienne mieux

Comment faire en sorte que BASH vous convienne mieux
BASH a une configuration standard simple qui est géniale mais vous voudrez peut-être plus! De nombreux utilisateurs d'ordinateurs évitent la ligne de commande, car elle est difficile à utiliser. C'est une idée fausse. La ligne de commande a une courbe d'apprentissage, elle nécessite quelques connaissances pour commencer. Cependant, ceux que vous connaissez quelques choses, c'est plus rapide et souvent plus facile. Après avoir appris quelques commandes de base, la compétence absolument essentielle est de lire la documentation. Cela peut ne pas ressembler à une compétence, mais c'est. La raison en est que les documents sont génériques, ils ne répondront pas à votre question spécifique, vous devez dériver la réponse des informations dont vous disposez. Lorsque vous démarrez votre environnement, le système contient des fichiers contrôlant vos valeurs par défaut dans de nombreuses applications. Pour bash, vous avez plusieurs fichiers qui contrôlent cela. Ces fichiers dans un ordre et seulement si d'autres n'existent pas.

Que pouvez-vous changer?

Beaucoup de choses, mais les changements que vous remarquerez en premier sont ceux qui définissent votre invite. Vous avez également des alias et des variables d'environnement. Beaucoup d'entre eux sont configurés pour vous assurer que vous utilisez les bibliothèques et les fichiers exécutables appropriés lors de l'exécution des applications. Les fichiers contrôlent et ajoutent également des fonctionnalités au shell, un exemple est l'histoire. Dans bash vous avez un fichier historique qui contient les dernières commandes que vous avez entrées. Vous pouvez choisir si vous souhaitez que l'historique conserve les doublons et la taille du fichier. Il y a beaucoup plus de choses que vous pouvez exécuter. Un bel exemple d'utilitaires est disponible sur bash-it.

Où est-il stocké?

Cela ressemble à une simple liste de quelques fichiers qui sont exécutés lorsque vous démarrez. Cependant, en raison de la façon dont bash commence, il y a quelques complications. La première est que vous voulez des paramètres pour le système et d'autres pour chaque fois que vous ouvrez un shell. Le fichier /etc/profile s'exécute lors de la connexion, notez qu'il appelle souvent /etc/profile.d/* pour définir des valeurs spécifiques. Sur Ubuntu, il définit les chemins d'accrochage, à la fois pour où se trouvent les binaires et où xdg appelle les applications. Ce fichier est à l'échelle du système, donc ne l'utilisez pas pour les paramètres personnels. Pour les fichiers à l'échelle du système, vous avez également etc/bash.bashrc, ce fichier est nommé /etc/bashrc en dehors des distributions basées sur Debian. L'administrateur définit, espérons-le, les valeurs par défaut pour tous les utilisateurs du système. Si vous n'êtes pas d'accord avec ces paramètres, vous pouvez les remplacer dans ~.bashrc, pour l'utilisateur spécial.

Je sais que vous pouvez être à la fois utilisateur et administrateur! Le prochain fichier que vous devez prendre en compte est ~/.profile, cela s'exécute à la connexion, pas au démarrage du shell. Il ne démarre également que si .bashprofile ou .bashlogin n'existe pas. La version standard vérifie quel shell sera exécuté. Quand le .le fichier de profil s'exécute, il démarre ~/.bashrc s'il existe. Le ~/.bashrc est l'endroit où vous devez définir vos alias et autres paramètres personnels. Deux autres fichiers sont intéressants, ~/.bashlogout et ~/.inputrc, le premier s'exécute à la déconnexion. Il efface la console, par défaut. Plus intéressant est le fichier inputrc. Ici, vous modifiez les raccourcis clavier et les frappes de touches. Vous pouvez définir la façon dont vous éditez sur la ligne de commande. La valeur par défaut est l'édition de style emacs mais vous pouvez changer cela en style vi.

Quelques exemples de modifications à apporter.

Mettez à jour votre invite… Pour rendre votre invite plus jolie ou pour transmettre plus d'informations, vous pouvez modifier les valeurs de PS1. Tout d'abord, vous pouvez vérifier quelle valeur vous avez déjà.

$ echo $PS1

Le résultat semble un peu cryptique à moins que vous ne l'ayez défini sur une chaîne. Essayez-le :

$ PS1 = "Invite cool!"

Ce n'est pas très utile, vous pouvez à la place définir des valeurs qui vous informent sur ce qui se passe dans votre système. Voici un petit tableau de quelques valeurs :

\u Nom d'utilisateur actuel
\h Nom d'hôte actuel
\w Répertoire de travail actuel
\s Nom de la coquille
\t Heure au format 24 heures

Comme défi, définissez votre invite pour que votre nom d'utilisateur et votre nom d'hôte soient correctement marqués avec l'esperluette. Vous pouvez également utiliser des variables définies par le système et même la sortie de scripts. Définissez un schéma de couleurs… Vous pouvez avoir votre sortie en couleur, et également avoir des couleurs différentes pour chaque type de fichiers. Tout d'abord, créez une invite colorée. La couleur peut changer tout au long de l'invite. Pour commencer une nouvelle couleur, ajoutez '\e[x,ym' och stoppa med '\e[m. Voici un exemple.

$ PS1="\e[0;35m \[email protected]\h \e[m \e[0;32m \d \A\e[m \$ >"

umask, comment ça marche… Dans le shell, vous avez un paramètre appelé 'umask', il définit comment les autorisations des fichiers sont définies lorsque vous les créez. La valeur la plus courante est 022. Cela donne aux fichiers des autorisations qui permettent aux utilisateurs de lire et d'écrire et à tous les autres de lire uniquement. De cette façon, vous devez modifier les nouveaux fichiers de script en exécutables en tant qu'action distincte. C'est un moyen sûr de gérer les fichiers.

définitions de fonctions… Vous pouvez également incorporer des fonctions, le format de celles-ci peut être compatible POSIX ou bash. Si vous envisagez de basculer entre les shells, recherchez comment rester conforme. Vous pouvez également exécuter un script dans l'invite.

#!/bin/bash
# lsbytesum - le nombre d'octets dans une liste de répertoires
Nombre total d'octets=0
pour les octets dans $(ls -l | grep "^-" | awk ' print $5 ')
fais
TotalOctets=$TotalOctets+$Octets
Fini
TotalMeg=$(echo -e "\n$TotalBytes/1048576 \nquit" | bc)
echo -n "$TotalMeg"

Si vous avez le code ci-dessus (crédit à TLDP), vous pouvez l'appeler dans votre invite (PS1). Pour le définir, ajoutez ceci à votre bashrc.

$ PS1="[\[email protected]\h:\w (\$(lsbytes) Mb)]\$ "

Vous pouvez, bien sûr, l'exécuter manuellement pour voir si vous l'aimez en premier. Il n'y a pas de couleurs dans ce style, vous devez combiner de nombreux paramètres différents.

Une fois que vous avez décidé ce que vous voulez, vous devez mettre les valeurs dans votre .fichier bashrc.

Conclusion

Bash possède de nombreuses fonctionnalités que vous pouvez utiliser pour améliorer le fonctionnement de votre environnement. Vous pouvez faire de nombreux travaux plus rapidement si vous avez appris à être efficace. Une façon est de créer des alias, une autre est de créer vos propres scripts. Cela peut être très bénéfique pour votre efficacité, si vous prenez le temps de franchir la barrière initiale.

Top 5 des cartes de capture de jeu
Nous avons tous vu et aimé des gameplays en streaming sur YouTube. PewDiePie, Jakesepticye et Markiplier ne sont que quelques-uns des meilleurs joueur...
Comment développer un jeu sur Linux
Il y a dix ans, peu d'utilisateurs de Linux prédisaient que leur système d'exploitation préféré serait un jour une plate-forme de jeu populaire pour l...
Ports Open Source des moteurs de jeux commerciaux
Les récréations de moteur de jeu gratuites, open source et multiplateformes peuvent être utilisées pour jouer à d'anciens ainsi qu'à certains des titr...