當前位置:首頁 » 編程軟體 » shell腳本read

shell腳本read

發布時間: 2022-02-10 20:45:13

1. 用shell寫腳本的時候,read命令報錯,本來想read一個name變數的,運行之後這行報錯。

按照我的經驗,某些環境下的預設變數需要用空格空出來
read [] name

2. shell腳本while read循環無法執行命令,不用循環卻可以執行,這是為什麼

whilereadline
do
#處理$line即每行文本
done<file.txt

或者:

catfile.txt|whilereadline
do
#處理$line即每行文本
done

檢查下你的代碼格式,是不是符合上述兩種之一。

3. linux的shell腳本的read怎麼換行輸入

在末尾加反斜桿\,即可換行輸入

4. shell腳本 判斷read的字元串是不是純數字

如果你是bash 3.0 或以上,可以這樣寫:

if [[ "$c" =~ "^[0-9]+$" ]]; then

echo "Number"
else
echo "Not a number!"
fi

5. linux shell read命令被跳過

read是讀取你在屏幕上內容的。。。。如果你不輸入,肯定是NULL

6. linux shell 跳過read命令,怎麼解決

read默認從標准輸入讀取數據,而這里的管道符會將前面ls命令的結果作為標准輸入傳遞給read命令。所以只要前面還有數據,read命令就不會等待用戶輸入。

其實,這里可以用 for ... in ... 結構來替代while循環。

forl1in`ls$d1`
do
read-p"1or0"y1
......
done

7. shell腳本中執行 read x 後,x立即分配內存嗎分配多少

不是立即分配的
輸入read x之後,按下回車鍵,shell會等待你輸入。只有在你輸入完成後,按下ctrl+D之後,shell才會重新回到命令提示符狀態
變數x的大小跟你輸入字元的多少有關

8. shell 腳本 while read a b c d ;do done語句中 a b 的值於最外層不一致

while循環一次只讀一行,直至讀到文件末尾。你試試下面這個:
while read line
do
echo "$line"
done <./data/1/statusl.txt

就會列印:
335
1
2
00

你要把每行取出來分別賦給一個變數的話,用sed 或 head 即可。
a=`sed -n '1p' ./data/1/statusl.txt`
b=`sed -n '2p' ./data/1/statusl.txt`
或者
a=`head -n 1 ./data/1/statusl.txt`
b=`head -n 2 ./data/1/statusl.txt`

而且上面的awk語句也有錯誤,把$a,$b放在單引號裡面會被認為是awk的變數,不會被shell解析並替換成對應的值的。需要拿到單引號外面來(在$a前關閉單引號,$a之後再打開;$b同樣處理)。並且,awk默認的欄位分隔符就是空格,所以沒必要再用 -F 指定。
修改如下:
awk '{if($1==『$a』 && $2==『$b』){print $1;}print 『$a』,22}' ./data/1/statusl.txt

最後,實在不知道你要干什麼。因為awk本身就會讀文件,而且也是一行一行地讀。
statusl.txt 只有1列,以空格作為分隔符,只能得到一個欄位($1),$2不存在。 所以,上面我改的那句其實也是不對的。

9. shell腳本的read -p寫法

關於第一個問題:-p: is not an identifier
有可能是因為你的PATH的設定。
你可以在第一個read之前加一行
type read
看看這個read是從哪裡來的
同時直接在你的Unix prompt里也輸入type read看看結果
應該得到的是同樣的答案(read is a shell builtin)

Good Luck!

10. shell腳本中的read和done

while循環結構如下:
while 條件
do
...
done

應該前面還有個do的。這是固定結構,滿足條件就會一直循環下去。

因為最後有輸入重定向符號<,將整個while循環條件的輸入指定為config變數定義的文件。所以,read會逐行讀取這個文件中的欄位(每行兩個欄位)分別作為server和ip。
需要注意的是,config.ini文件中的標題行也會被讀入。

man read,說明中可以看到,如果讀成功的話,read返回讀取的位元組數;讀到文件的末尾則返回0。而對於while來講,條件為0表示為false,則退出循環。

熱點內容
買釣箱要哪些配置就夠了 發布:2025-01-11 20:24:23 瀏覽:509
防腳本取色 發布:2025-01-11 20:15:17 瀏覽:637
為什麼莊周活動安卓沒開始 發布:2025-01-11 20:14:23 瀏覽:460
我的世界花雨庭國際服伺服器地址 發布:2025-01-11 20:13:27 瀏覽:718
c數據導入資料庫 發布:2025-01-11 20:07:55 瀏覽:828
可以上傳片 發布:2025-01-11 20:07:55 瀏覽:792
outlook伺服器郵件怎麼找 發布:2025-01-11 20:06:12 瀏覽:95
javac編譯jar 發布:2025-01-11 20:06:11 瀏覽:483
電腦伺服器小功率 發布:2025-01-11 20:02:02 瀏覽:832
唱吧上傳自己的歌 發布:2025-01-11 19:57:35 瀏覽:661