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

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
12下一頁(yè)
最近訪問(wèn)板塊 發(fā)新帖
查看: 5639 | 回復(fù): 11
打印 上一主題 下一主題

[文本處理] 【已解決】eval 給變量重新賦值一直不對(duì)啊,求教@all [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2016-06-14 18:08 |只看該作者 |倒序?yàn)g覽
本帖最后由 飄動(dòng)de心 于 2016-06-15 16:14 編輯

如何給變量重新賦值,用eval原來(lái)可以的,貌似加了個(gè)$name就不可以了

body:
  1.         variables=($sname"_database_url" $sname"_database_port" $sname"_database_name" $sname"_database_username" $sname"_database_password")
  2.         for i in ${variables[@]}
  3.         do
  4.                 tmp=`cat $config |grep $i |cut -d'=' -f2- |sed 's/^ *\| *$//g'`
  5.                 eval ${i}=$tmp
  6.                 if [ -z $tmp ];then
  7.                         echo "Error: Unknow $i. Please check $config."
  8.                         exit 1
  9.                 fi
  10.         done
復(fù)制代碼
輸出
  1. ./test.sh: line 81: ms-product_database_url=192.168.10.100: command not found
  2. ./test.sh: line 81: ms-product_database_port=3306: command not found
  3. ./test.sh: line 81: ms-product_database_name=test: command not found
  4. ./test.sh: line 81: ms-product_database_username=root: command not found
  5. ./test.sh: line 81: ms-product_database_password=123456: command not found
復(fù)制代碼

論壇徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-06-12 06:20:002016科比退役紀(jì)念章
日期:2016-05-31 15:47:20CU十四周年紀(jì)念徽章
日期:2016-05-27 12:24:562015年亞洲杯之阿曼
日期:2015-05-03 21:01:352015年辭舊歲徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-08-11 06:20:00
2 [報(bào)告]
發(fā)表于 2016-06-14 19:19 |只看該作者
eval let ${i}=$tmp

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2016-06-15 04:46 |只看該作者
eval i=$tmp 可以嗎?

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2016-06-15 09:32 |只看該作者
當(dāng)然不可以,那樣會(huì)沒有值回復(fù) 3# wjemail


   

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2016-06-15 09:36 |只看該作者
之前試過(guò)
./test.sh: line 82: let: zhangsan_database_url=192.168.10.100: syntax error: invalid arithmetic operator (error token is ".168.10.100")
回復(fù) 2# liion631818


   

論壇徽章:
145
技術(shù)圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術(shù)圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
6 [報(bào)告]
發(fā)表于 2016-06-15 10:31 |只看該作者
回復(fù) 5# 飄動(dòng)de心

如果你要解決問(wèn)題....
先說(shuō)你要做什么(目地是什么)?
(肚子餓,不要一直問(wèn)宮保雞丁怎么做,.....
問(wèn)肚子餓,最簡(jiǎn)單(解決)方法是什么?------去館子就可飽餐....)
   

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2016-06-15 10:46 |只看該作者
本帖最后由 飄動(dòng)de心 于 2016-06-15 10:54 編輯

配置文件替換從a.conf讀取內(nèi)容重新替換到b.conf

a.conf:
a_name=zs
a_age=11
a_mail=zs@mail.com
a_address=192.168.1.0/index.php

b_name=ww
b_age=19
b_mail=ww@mail.com
b_address=192.168.10.0/index.php

b.conf:
name=ls
age=20
mail=ls@mail.com
address=192.168.1.100/welcome.php

文件的格式為 key=value
首先我想先判斷value是否為空,不為空替換到b.conf
另外a b c d是單獨(dú)$name獲取

我的方法可能復(fù)雜了點(diǎn):
將需要修改的key存在數(shù)組里,然后循環(huán)判斷value是否為空,不為空賦值給key,最后開始替換 xxx= `cat b.conf |grep name|cut -d'=' -f2-`    sed -i 's/xxx/$key/g' b.conf
回復(fù) 6# jason680


   

論壇徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉雞
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥豬
日期:2014-04-22 16:13:09獅子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53處女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
8 [報(bào)告]
發(fā)表于 2016-06-15 11:13 |只看該作者
回復(fù) 1# 飄動(dòng)de心

這一行為什么報(bào)錯(cuò)我知道的。
  1. ./test.sh: line 81: ms-product_database_url=192.168.10.100: command not found
復(fù)制代碼
你想把shell變量ms-product_database_url賦值為192.168.10.100
但shell變量不允許"-",你要保證$sname取到的字符串和后面拼起來(lái)能形成一個(gè)
有效的shell變量名。

   

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2016-06-15 11:16 |只看該作者
正是這樣 ,我一直在找為什么把整的一行當(dāng)做字符串拼接然后做為命令
謝謝指導(dǎo)。。
回復(fù) 8# Herowinter


   

論壇徽章:
145
技術(shù)圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術(shù)圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
10 [報(bào)告]
發(fā)表于 2016-06-15 11:17 |只看該作者
回復(fù) 7# 飄動(dòng)de心

$ name=a

$ awk -vh="$name" 'BEGIN{FS=OFS="="}FNR==NR{a[h"_"$1]=$2;next}{if($1 in a)$2=a[$1]}1' b.conf a.conf
a_name=ls
a_age=20
a_mail=ls@mail.com
a_address=192.168.1.100/welcome.php


b_name=ww
b_age=19
b_mail=ww@mail.com
b_address=192.168.10.0/index.php


$ name=b

$ awk -vh="$name" 'BEGIN{FS=OFS="="}FNR==NR{a[h"_"$1]=$2;next}{if($1 in a)$2=a[$1]}1' b.conf a.conf
a_name=zs
a_age=11
a_mail=zs@mail.com
a_address=192.168.1.0/index.php

b_name=ls
b_age=20
b_mail=ls@mail.com
b_address=192.168.1.100/welcome.php


   
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP