Linux ialah sistem pengendalian yang berkuasa dan fleksibel yang menyediakan banyak arahan shell terbina dalam yang membolehkan kami mengurus dan mengawal tingkah laku sistem dengan mudah. Satu arahan yang sangat berguna ialah sumber, yang membolehkan kita membaca dan melaksanakan arahan daripada fail tanpa mencipta proses atau persekitaran baharu. Apakah yang dilakukan oleh arahan sumber? Bagaimana ia digunakan? Bagaimanakah ia berbeza daripada arahan bash? Artikel ini akan memperkenalkan anda kepada rahsia arahan sumber secara terperinci, membolehkan anda memanfaatkan kuasa super Linux.
Mengenai arahan sumber dan kaedah pelaksanaannya: Dalam sistem Linux, sumber ialah arahan Shell terbina dalam yang membaca dan melaksanakan kandungan fail dalam Shell semasa. Fail ini biasanya mengandungi satu siri arahan untuk dibaca dan dijalankan oleh penterjemah TCL.
Jika sebarang hujah disediakan, ia akan menjadi hujah kedudukan kepada [nama fail] yang akan dilaksanakan mengikut sumber. Jika tidak, parameter kedudukan kekal tidak berubah.
Entri dalam $PATH digunakan untuk mencari direktori yang mengandungi [nama fail], namun, jika fail itu tidak wujud dalam $PATH, ia akan mencari fail dalam direktori semasa. Perintah sumber tidak mempunyai pilihan, dan parameter hanya boleh menjadi nama fail.
Tatabahasa:
source [filename] [arguments]
Antaranya:
[nama fail]: Nama atau laluan fail yang akan dilaksanakan oleh arahan sumber.
[argumen]: Apabila fail dilaksanakan, sebarang hujah yang anda berikan akan menjadi hujah kedudukan.
Aksaratitik (tempoh) boleh digunakan sebagai ganti arahan sumber, menghasilkan output yang sama:
. [filename] [arguments]
Contoh:
Buat fail bernama linuxmi.txt dan tampal arahan berikut ke dalamnya.
echo “Hello Linux迷 www.linuxmi.com” pwd date echo $PATH
Sekarang jalankan arahan sumber menggunakan laluan yang betul ke fail yang baru anda buat. Pastikan anda menggunakan laluan fail yang betul.
sumber linuxmi.txt
Arahan sumber di atas membaca dan melaksanakan arahan dalam fail yang disediakan.
Keluaran adalah seperti berikut:
Penting: Berhati-hati! "./" dan "sumber" tidak betul-betul sama.
"./script" menjalankan skrip sebagai fail boleh laku, melancarkan shell baharu untuk menjalankannya. "skrip sumber" membaca dan melaksanakan arahan dalam fail daripada persekitaran shell semasa. Nota: "./skrip" tidak sama dengan ". skrip", tetapi ". skrip" adalah sama dengan "skrip sumber".
Dengan bantuan arahan sumber, kami boleh mencipta fail konfigurasi dan membacanya dalam fail lain.
Pada asasnya, kita perlu mencipta dua fail:
sample-config.sh → Mengandungi beberapa konfigurasi rawak
config-reader.sh → Baca fail konfigurasi dan lakukan beberapa operasi.
Buat fail ini dalam direktori yang sama.
Buat sample-config.sh dan tambah arahan berikut:
profile_page="https://www.linuxmi.com/" article_list="https://linux.linuxmi.com/"
Buat config-reader.sh dan tambah arahan berikut:
#!/usr/bin/env bash source sample-config.sh echo "*****************************" echo "Profile Page : $profile_page" echo " List of Articles : $article_list" echo "*****************************"
Fail config-reader.sh mengandungi arahan sumber yang menggunakan fail konfigurasi. Ia menggunakan pembolehubah fail daripada fail config-reader.sh dalam arahan seterusnya.
Keluaran:
Laksanakan arahan berikut untuk membaca konfigurasi dan menggunakannya dalam sumber fail semasa config-reader.sh
Seperti yang ditunjukkan di bawah:
Kadangkala kami ingin menetapkan alias untuk arahan yang kerap digunakan untuk memudahkan penggunaan dalam mana-mana sesi shell.
Kita boleh mulakan dengan mencipta arahan alias Shell seperti ini:
alias ll=’ls -ltrh’
Arahan ini menyenaraikan semua fail dan folder dalam direktori semasa dalam format panjang, diisih mengikut cap masa dalam tertib menaik, dipaparkan dalam format yang mudah dibaca.
Sebenarnya, terdapat masalah dengan arahan semasa, ia berjalan dengan baik dalam sesi shell semasa, tetapi kami tidak boleh mengaksesnya di luar sesi shell semasa.
Walau bagaimanapun, kami mempunyai penyelesaian untuk menjadikannya arahan kekal supaya ia boleh diakses dalam mana-mana sesi shell.
Kami hanya perlu menambahkan alias ini pada fail .bashrc (atau .zsh untuk macOS), yang terletak dalam direktori rumah.
sudo vim ~/.bashrc
Di bawah bahagian "#beberapa lagi alias ls", tambahkan yang berikut:
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 中的神奇命令之一,值得我们好好学习和使用。
Atas ialah kandungan terperinci Perintah ajaib dalam Linux: source. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!