Linux est un système d'exploitation puissant et flexible qui fournit de nombreuses commandes shell intégrées qui nous permettent de gérer et de contrôler facilement le comportement du système. Une commande très utile est source, qui nous permet de lire et d'exécuter des commandes à partir d'un fichier sans créer de nouveau processus ou environnement. Que fait la commande source ? Comment est-ce utilisé? En quoi est-ce différent des commandes bash ? Cet article vous présentera en détail les secrets de la commande source, vous permettant d'exploiter la super puissance de Linux.
À propos de la commande source et de sa méthode d'exécution : Dans les systèmes Linux, source est une commande Shell intégrée qui lit et exécute le contenu du fichier dans le Shell actuel. Ces fichiers contiennent généralement une série de commandes qui doivent être lues et exécutées par l'interpréteur TCL.
Si des arguments sont fournis, ils deviendront des arguments de position pour [nom de fichier] qui seront exécutés par la source. Sinon, les paramètres de position restent inchangés.
L'entrée dans $PATH est utilisée pour trouver le répertoire contenant [nom de fichier], cependant, si le fichier n'existe pas dans $PATH, il recherchera le fichier dans le répertoire courant. La commande source n'a aucune option et les paramètres ne peuvent être que des noms de fichiers.
Grammaire :
source [filename] [arguments]
Parmi eux :
[filename] : Le nom ou le chemin du fichier à exécuter par la commande source.
[arguments] : lorsque le fichier est exécuté, tous les arguments que vous fournissez deviendront des arguments de position.
Le caractèrepoint (point) peut être utilisé à la place de la commande source, produisant le même résultat :
. [filename] [arguments]
Exemple :
Créez un fichier appelé linuxmi.txt et collez-y les commandes suivantes.
echo “Hello Linux迷 www.linuxmi.com” pwd date echo $PATH
Exécutez maintenant la commande source en utilisant le chemin correct vers le fichier que vous venez de créer. Assurez-vous d'utiliser le chemin de fichier correct.
source linuxmi.txt
La commande source ci-dessus lit et exécute les commandes dans le fichier fourni.
Le résultat est le suivant :
Important : Soyez prudent ! "./" et "source" ne sont pas exactement les mêmes.
"./script" exécute le script sous forme de fichier exécutable, lançant un nouveau shell pour l'exécuter. "source script" lit et exécute les commandes du fichier à partir de l'environnement shell actuel. Remarque : "./script" n'est pas égal à ". script", mais ". script" est égal à "script source".
Avec l'aide de la commande source, nous pouvons créer un fichier de configuration et le lire dans un autre fichier.
En gros, nous devons créer deux fichiers :
sample-config.sh → Contient une configuration aléatoire
config-reader.sh → Lisez le fichier de configuration et effectuez certaines opérations.
Créez ces fichiers dans le même répertoire.
Créez sample-config.sh et ajoutez les commandes suivantes :
profile_page="https://www.linuxmi.com/" article_list="https://linux.linuxmi.com/"
Créez config-reader.sh et ajoutez les commandes suivantes :
#!/usr/bin/env bash source sample-config.sh echo "*****************************" echo "Profile Page : $profile_page" echo " List of Articles : $article_list" echo "*****************************"
Le fichier config-reader.sh contient une commande source qui utilise le fichier de configuration. Il utilise la variable file du fichier config-reader.sh dans les commandes suivantes.
Sortie :
Exécutez la commande suivante pour lire les configurations et les utiliser dans le fichier source actuel config-reader.sh
Comme indiqué ci-dessous :
Parfois, nous souhaitons définir un alias pour une commande fréquemment utilisée afin de la rendre plus facile à utiliser dans n'importe quelle session shell.
Nous pouvons commencer par créer une commande d'alias Shell comme celle-ci :
alias ll=’ls -ltrh’
Cette commande répertorie tous les fichiers et dossiers du répertoire actuel au format long, triés par horodatage par ordre croissant, affichés dans un format facile à lire.
En fait, il y a un problème avec la commande actuelle, elle fonctionne correctement dans la session shell en cours, mais nous ne pouvons pas y accéder en dehors de la session shell en cours.
Cependant, nous avons une solution pour en faire une commande permanente afin qu'elle soit accessible dans n'importe quelle session shell.
Il suffit d'ajouter cet alias au fichier .bashrc (ou .zsh pour macOS), qui se trouve dans le répertoire personnel.
sudo vim ~/.bashrc
Sous la section "#quelques autres alias ls", ajoutez ce qui suit :
alias ll = 'ls -ltrh'
我已经添加了类似的内容如下:
alias ll = 'ls -ltrh' alias g = 'git' alias k = 'kubectl'
添加别名后,我们需要刷新当前的Shell环境,以便测试它是否按预期工作。
source ~/.bashrc
通过本文,你应该对 source 命令有了更深入的了解,知道了它如何从文件中读取并执行命令,如何更新 bash shell 环境,以及它与 bash 命令的区别。source 命令是一个非常方便的内置 shell 命令,它可以让我们在同一个 shell 环境中修改变量或执行脚本,而不需要创建新的进程或环境。这样可以节省资源,提高效率,也可以避免一些潜在的错误或冲突。source 命令是 Linux 中的神奇命令之一,值得我们好好学习和使用。
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!