亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 一個while循環(huán)的問題 [打印本頁]

作者: sync_1521    時間: 2014-09-23 22:18
標(biāo)題: 一個while循環(huán)的問題
各位大神幫忙看個問題
clouder@pc101:~/sms_check> cat 123
aaa
bbb
clouder@pc101:~/sms_check> cat 1
#!/bin/bash
i=1
while  read line
do
echo $line
arr[$i]="line"
echo ${arr[$i]}
i=$(($i+1))
done< 123
echo ${arr[@]}
clouder@pc101:~/sms_check> sh 1
aaa
line
bbb
line
line line

將腳本1略微修改
clouder@pc101:~/sms_check> cat 1
#!/bin/bash
i=1
cat 123|while  read line
do
echo $line
arr[$i]="line"
echo ${arr[$i]}
i=$(($i+1))
done
echo ${arr[@]}
clouder@pc101:~/sms_check> sh 1
aaa
line
bbb
line

clouder@pc101:~/sms_check>
這個腳本while循環(huán)一個從done后面輸入 一個從前面cat讀入  為什么執(zhí)行的結(jié)果不同?
從cat輸入的 arr數(shù)組的值為什么打印不出來?

作者: reyleon    時間: 2014-09-23 23:06
月經(jīng)問題!


cat xxoo | while read ...

這種會產(chǎn)生一個Shell子進(jìn)程,子進(jìn)程的變量在子進(jìn)程消失也隨之消失.
作者: zooyo    時間: 2014-09-23 23:19
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽
作者: sync_1521    時間: 2014-09-23 23:19
回復(fù) 2# reyleon

額。。
那有辦法將子進(jìn)程的變量弄出來么?
我其實是想用tac 123 |while read line 倒序?qū)⑽谋緝?nèi)容賦值給數(shù)組,然后將數(shù)組的值最后輸出即echo ${arr[@]}

   
作者: zooyo    時間: 2014-09-23 23:20
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽
作者: sync_1521    時間: 2014-09-23 23:29
回復(fù) 5# zooyo


腳本寫的少, 還請幫忙提供個可行的思路。。

目標(biāo)就是將文本內(nèi)容倒序賦值給一數(shù)組,如a[1]=文本最后一行內(nèi)容,如此類推,非常感謝!

   
作者: zooyo    時間: 2014-09-23 23:38
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽
作者: sync_1521    時間: 2014-09-23 23:58
回復(fù) 7# zooyo

百度好久才看懂sed -i '1!G;h;$!d'

有興趣的朋友可以看下這篇文章,詳細(xì)講解了sed之G、H、g、h使用
http://www.cnblogs.com/fhefh/archive/2011/11/22/2259097.html

再次感謝zooyo,reyleon
   
作者: jason680    時間: 2014-09-24 00:52
回復(fù) 1# sync_1521


http://www.72891.cn/forum.p ... mp;fromuid=24785593

   
作者: Shell_HAT    時間: 2014-09-24 11:28
回復(fù) 8# sync_1521


百度上能找到的大部分都是從CU抄的
http://www.72891.cn/thread-336126-1-1.html




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2