Répertoire d'articles
coquille
Qu'est-ce que Shell
Shell (programme shell) est l'interface utilisateur du système, qui fournit une interface permettant à l'utilisateur d'interagir avec le noyau. Il reçoit la commande saisie par l'utilisateur et l'envoie au noyau pour exécution.
En fait, Shell est un interpréteur de commandes, qui interprète les commandes entrées par l'utilisateur et les envoie au noyau. Non seulement cela, Shell a son propre langage de programmation pour l'édition des commandes, qui permet aux utilisateurs d'écrire des programmes composés de commandes shell. Le langage de programmation Shell a de nombreuses caractéristiques des langages de programmation ordinaires, par exemple, il a également une structure de boucle et une structure de contrôle de branche, etc. Les programmes Shell écrits dans ce langage de programmation ont le même effet que les autres applications
Tant que le logiciel qui peut faire fonctionner le programme d'application peut être appelé un programme shell, le programme shell étroit fait référence au logiciel de ligne de commande , tel que le BASH décrit plus loin dans cet article; le programme large shell comprend le logiciel du mode d'interface utilisateur graphique, car les graphiques L'interface utilisateur peut également faire fonctionner diverses applications pour appeler le travail du noyau
FRAPPER
Qu'est-ce que BASH
Shell a de nombreuses versions différentes selon son développement, BASH est l'une d'entre elles, BASH (Bourne Again Shell) est la version utilisée par Linux par défaut
Fonction de variable Shell
variable
Les variables sont des types de données utilisés par les systèmes informatiques pour stocker des valeurs de variables. Nous pouvons directement extraire la valeur de variable correspondante via le nom de la variable. Il s'agit de remplacer certains paramètres ou une chaîne de données réservées par un ensemble de mots ou de symboles.
Variable d'environnement
Dans les systèmes Linux, les variables d'environnement sont utilisées pour définir certains paramètres de l'environnement d'exploitation du système, tels que les différents répertoires personnels (HOME) et l'emplacement de stockage du courrier (MAIL) de chaque utilisateur. Afin de les distinguer des variables personnalisées, les variables d'environnement sont généralement exprimées en majuscules
En tant que système d'exploitation multi-utilisateurs et multi-tâches, Linux peut fournir à chaque utilisateur un environnement de travail indépendant et adapté. Par conséquent, une même variable d'environnement aura des valeurs différentes en raison de différentes identités d'utilisateur. Comme indiqué ci-dessous:
Utilisation et paramétrage des variables: echo, =, unset
echo : vous pouvez utiliser la commande echo pour utiliser des variables. Lorsque des variables sont utilisées, elles doivent être précédées du signe dollar $. Par exemple, pour afficher le contenu de la variable PATH:
echo $PATH
= : Utilisez = pour définir ou modifier le contenu d'une variable. Par exemple, pour définir le contenu de la variable myname sur WangGarrison, alors:
myname=WangGarrison
Lors de la définition des variables, elles doivent respecter certaines réglementations, sinon le paramètre échouera. Les règles sont les suivantes:
- Les contenus variables et variables sont connectés avec un =
- Aucun espace n'est autorisé des deux côtés du signe égal
- Les noms de variable ne peuvent être que des lettres et des chiffres anglais et ne peuvent pas commencer par des chiffres
- Il y a des espaces dans le contenu de la variable, vous pouvez utiliser des guillemets simples ou doubles pour entourer la variable
unset : unset peut annuler la variable, par exemple, annuler le paramétrage de myname:
unset myname
Fonction des variables d'environnement
Les variables d'environnement peuvent nous aider à réaliser de nombreuses fonctions, y compris la conversion du répertoire racine (dossier de départ), l'affichage des caractères d'invite, le chemin pour effectuer la recherche de fichiers, etc.
Vous pouvez utiliser les commandes env et export pour afficher les variables d'environnement par défaut de l'environnement shell actuel. Env est l'abréviation de environment
env
Les 10 variables d'environnement importantes de Linux sont les suivantes:
Nom de la variable d'environnement | effet |
---|---|
DOMICILE | Répertoire personnel de l'utilisateur |
COQUILLE | Nom de l'interpréteur Shell utilisé par l'utilisateur |
CHEMIN | Chemin pour effectuer la recherche de fichiers |
ÉDITEUR | Interpréteur de texte par défaut de l'utilisateur |
ALÉATOIRE | Variable de nombre aléatoire |
LANG | Données linguistiques |
HISTSIZE | Nombre d'enregistrements de commandes historiques sortis |
HISTFILESIZE | Nombre d'enregistrements de commandes historiques enregistrés |
PS1 | Interpréteur Prompt of Bash |
COURRIER | Chemin pour enregistrer les e-mails |
Utilisez la commande set pour afficher toutes les variables (y compris les variables d'environnement et les variables personnalisées)
set
Convertir des variables personnalisées en variables d'environnement
La principale différence entre une variable personnalisée et une variable d'environnement est que la variable d'environnement continuera à être référencée par le processus enfant, contrairement à la variable personnalisée. La corrélation entre le processus parent et le processus enfant est la suivante: le
processus enfant n'hérite que des variables d'environnement du processus parent, et le processus enfant n'en hérite pas Héritera des variables personnalisées du processus parent. Par conséquent, les variables personnalisées bash d'origine ne peuvent pas être utilisées dans le processus enfant après être entré dans le processus enfant et ne peuvent pas être utilisées tant que le processus enfant n'est pas terminé.
Donc, si vous voulez que les variables personnalisées du processus parent soient utilisées dans le processus enfant, vous devez convertir les variables personnalisées en variables d'environnement et utiliser la commande d'exportation pour convertir
export 变量名称
Introduction spécifique de la commande d'exportation
Lecture, tableau et déclaration variables du clavier
read : utilisé pour lire les variables entrées depuis le clavier, qui peuvent être utilisées pour interagir avec l'utilisateur
read [-pt] variable #-p后面可以接提示字符 -t后面可以接等待的秒数
déclarer, composer : déclarer ou composer est la même fonction, qui consiste à déclarer le type de la variable
declare [-aixr] variable
-a:将后面名为variable的变量定义成为数组(array)类型
-i:将后面名为variable的变量定义成为整数(integer)类型
-x:用法与export一样,就是将后面的variable变成环境变量
-r:将变量设置成为readonly类型,该变量不可被更改内容,也不能unset
Par défaut, le type de variable par défaut est string, comme indiqué dans la figure ci-dessous, la variable a par défaut est string 2 + 3 + 4
type de variable tableau
var[index]=content #数组名为var,下标是index,内容是content,
Par exemple:
Alias de commande et commandes historiques
Paramètre d' alias de commande : alias, unalias
alias lm='ls -al | more' #把ls -al |more命令简化为lm
Vous pouvez saisir directement alias pour voir quels alias de commande sont actuellement disponibles. Comme indiqué ci-dessous:
supprimer l'alias de commande
unalias lm
Commande historique
history [n]
history [-c]
history [-raw]
选项与参数:
n:列出最近的n条命令行表
-c:将目前的shell中的所有history内容全部清除
-a:将目前新增的history命令新增入histfiles中,若没有histfiles,则默认写入~/.bash_history
-r:将histfiles的内容读到目前这个shell的history中
-w:将目前的history记录内容写到histfiles中
Lorsque nous nous connectons à l'hôte Linux avec bash, le système lira activement les commandes précédemment exécutées depuis le répertoire personnel ~ / .bash_history. Le nombre de données enregistrées dans ce répertoire est lié à la variable d'environnement HISTFILESIZE de bash.
Script Shell
Qu'est-ce que ShellScript
Shell Script est un script shell, qui est un script écrit pour le shell. Nous écrivons une partie de la grammaire et des commandes spécifiées par le shell, ainsi que des fonctions telles que les expressions régulières, les commandes de pipeline et la redirection de flux de données, dans un fichier texte brut pour atteindre le but de traitement souhaité, puis nous ajoutons l'extension ".sh". , Ceci est un "script Shell"
En bref, nous ne pouvons réussir à communiquer avec l'ordinateur qu'en interprétant nos commandes et autres requêtes via l'outil Shell. En même temps, avec le script Shell, un «programme» qui peut traiter les commandes par lots, nous pouvons mieux communiquer avec l'ordinateur.
Livres de référence
"La cuisine privée Linux de Niaoge" Quatrième édition Chapitre 10 Comprendre et apprendre BASH