LFS技術細節解析(2):echo命令實現Linux shell人機交互詳解

關聯文章:
從LFS到自己的Linux發行版—系列教程之一:一步一步帶你體驗LFS8.2

LFS技術細節解析(1):Linux shell硬盤自動分區腳本詳解

前言

LFS──Linux from Scratch時,多次需要人機交互才能進行下去,例如新增加的用於LFS的硬盤的分區、在宿主機中lfs用戶密碼設置等。如果過程中完全按照LFS手冊,那麼我們必須等在電腦旁及時回覆shell的詢問,否則LFS就無法進行下去,完全無法做到無人值守LFS。
我在:一步一步帶你體驗LFS8.2一文中,之所以做到了完全無人值守LFS,關鍵修改了需要人機對話時LFS手冊中的部分 shell命令,利用了echo命令的輸入功能。

LFS硬盤自動分區

詳見上一篇文章:Linux shell硬盤自動分區腳本詳解。核心內容,使用echo命令實現shell命令fdisk需要的人機交互:

echo "" | fdisk /dev/sdb

宿主機中lfs用戶密碼設置

一步一步帶你體驗LFS8.2一文中,在設置宿主機lfs用戶密碼時,爲了實現在代碼中預置密碼123456進行自動人機交互,增加了下面一行代碼(詳見該文中的LFS代碼LFS_code-3.1.3第71行):

echo "lfs:123456" | chpasswd

之於shell命令echo用於自動人機交互的細節,見上一篇文章Linux shell硬盤自動分區腳本詳解

LFS系統root用戶密碼設置

一步一步帶你體驗LFS8.2一文中,在編譯shadow過程中設置LFS系統root用戶密碼時,爲了實現在代碼中預置密碼asd123asd進行自動人機交互,增加了下面一行代碼(詳見該文中的LFS代碼LFS_code-3.1.3第1574行):

echo "root:asd123asd" | chpasswd

結語

Linux shell命令echo是一個功能強大的輸入輸出命令,大多數作爲輸出命令用於顯示或者輸出到文件,例如(詳見該文中的LFS代碼LFS_code-3.1.3第100行、1786行):

echo $LFS
echo "127.0.0.1 localhost $(hostname)" > /etc/hosts

Linux shell命令echo在用於輸入時也有強大的功能,一步一步帶你體驗LFS8.2一文中就是利用echo命令強大的輸入功能來實現自動人機交互的。

發佈了4 篇原創文章 · 獲贊 6 · 訪問量 8865
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章