① 咨詢下linux中read的用法,使用管道
這里的問題在於read os是有管道產生的進程,而echo $os是外面的進程,兩個os不是同一個變數,所以列印出來os沒有數據,你加一個()放到同一個進程試試
② Linux 命令 read (文件管理)——想玩轉linux就請一直看下去
Linux read命令用於從標准輸入讀取數值。
read 內部命令被用來從標准輸入讀取單行數據。這個命令可以用來讀取鍵盤輸入,當使用重定向的時候,可以讀取文件中的一行數據。
參數說明:
1、簡單讀取
測試結果為:
2、-p 參數,允許在 read 命令行中直接指定一個提示。
測試結果為:
3、-t 參數指定 read 命令等待輸入的秒數,當計時滿時,read命令返回一個非零退出狀態。
執行程序不輸入,等待 5 秒後:
4、除了輸入時間計時,還可以使用 -n 參數設置 read 命令計數輸入的字元。當輸入的字元數目達到預定數目時,自動退出,並將輸入的數據賦值給變數。
該例子使用了-n 選項,後接數值 1,指示 read 命令只要接受到一個字元就退出。只要按下一個字元進行回答,read 命令立即接受輸入並將其傳給變數,無需按回車鍵。
只接收 2 個輸入就退出:
執行程序輸入兩個字元:
5、 -s 選項能夠使 read 命令中輸入的數據不顯示在命令終端上(實際上,數據是顯示的,只是 read 命令將文本顏色設置成與背景相同的顏色)。輸入密碼常用這個選項。
執行程序輸入密碼後是不顯示的:
6.讀取文件
每次調用 read 命令都會讀取文件中的 "一行" 文本。當文件沒有可讀的行時,read 命令將以非零狀態退出。
通過什麼樣的方法將文件中的數據傳給 read 呢?使用 cat 命令並通過管道將結果直接傳送給包含 read 命令的 while 命令。
測試文件 test.txt 內容如下:
測試代碼:
執行結果為:
使用 -e 參數,以下實例輸入字元 a 後按下 Tab 鍵就會輸出相關的文件名(該目錄存在的):
③ linux 中$,read分別是什麼意思
樓上的都有理,$這個代表的是普通用戶的意思,我覺得你應該問的是shell裡面的意思,shell裡面就是提取變數。read 讀取鍵盤的輸入作為程序往下執行的開始。
④ 知道linux 腳本中 ${#xxx[@]} 是什麼意思嗎
題主你好,
xxx應該是一個數組, ${#xxx[@]}應該是輸出xxx數世漏大組中元素的個數.
我舉了個例子,題主可以參考一下:
希望可以幫到題主搜沖, 歡迎追問搜豎.
⑤ linux 中 read 命令是什麼意思
read命令用於讀取終端輸入。
類似於c語言中的scanf()函數.