亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Linux Shell > 正文

awk中讓人郁悶的system()函數

2020-07-27 19:23:26
字體:
來源:轉載
供稿:網友

發現一個特尷尬的事實。我辛辛苦苦去百度資料,想用rewrite實現針對不同域名源站故障后的自動跳轉功能,但整個思路里遺漏了一個嚴重的問題。

按我的思路,針對請求的url進行一次curl,然后根據http_code去改寫url或者原樣輸出――這也就意味著,每一個請求,squid都回源去取一次header。那么對于源站來說,前面squid的緩存率,就是0%!完全沒有效果。

得重新想過辦法……難道去看squid源代碼?汗

本著有頭有尾善始善終的原則,決定還是把原先那個雞肋想法寫完。根據squid權威指南11章的說法,傳遞給重定向器的流格式為:URL IP/FQDN IDENT METHOD,其中FQDN和ident經常是空。METHOD,一般是GET和POST,squid只能緩存GET的數據,但不能無視POST方式,因為有時候POST數據header太大的話,squid可能拒絕轉發這些內容,這就不好玩了。

在明確這個格式以后(主要是草草收尾的想法影響下),我便覺得其實完全不用perl或者php來搞,簡單的awk就足夠了――當然,shell不行,因為shell不能從事這種流狀的行處理。

以下是本著我想法寫的awk腳本:

復制代碼 代碼如下:

#!/bin/awk -f
{
  if(system("curl -o /dev/null -s -w %{http_code}" $1)~/^[2|3]/){
    print ":$1"
  } else {
    print ":http://www.baidu.com/"
  }
}

但是再度讓我郁悶的事情接連發生。

第一,不管我在{}中進行什么操作,程序都把system()的結果print出來了;

第二,即使system()的結果是200,print出來的也是else{}的”http://www.baidu.com”;而如果我直接試驗if(200~/^[2 3]/){}else{},結果就很正常!

試驗過程如下:

復制代碼 代碼如下:

[rao@localhost ~]$ echo "http://www.google.com"|awk '{if(200~/^[2|3]/){ print ":"$1 } else{ print ":http://www.baidu.com/"}}'
:http://www.google.com
[rao@localhost ~]$ echo "http://www.google.com"|awk '{if(system("curl -o /dev/null -s -w %{http_code} "$1)~/^[2|3]/){print ":"$1 } else{ print ":http://www.baidu.com/"}}'
200:http://www.baidu.com/

思前想后,在百度大嬸的幫助下,終于搞明白一個問題:system()的結果是直接返回給shell顯示了,然后再由awk繼續執行后面的程序,這種情況下,if()里留下的其實是system()的執行狀態【即0或1】”0”~/^[2 3]/,當然就一直執行else了。

糟糕的問題是awk的getline,無法直接把system()的執行結果導入awk的變量…除非我先system里>一個文件,然后getline<這個文件。MyGod!

而如果采用while(“curl” getline var)的執行方式,如何傳遞shell變量進去又成了問題……唉

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产精品国自产拍av秋霞| 97视频在线观看网址| 中文字幕国产精品久久| 中文字幕九色91在线| 欧美大片欧美激情性色a∨久久| 欧美午夜精品久久久久久人妖| 米奇精品一区二区三区在线观看| 亚洲黄在线观看| 国产成人精品最新| 欧美老妇交乱视频| 丝袜亚洲另类欧美重口| 日韩国产激情在线| 欧美在线亚洲一区| 富二代精品短视频| 精品久久久久久久久久久久久久| 日韩在线视频免费观看高清中文| 久久精品成人欧美大片古装| 色综合视频一区中文字幕| 欧美日韩中文字幕在线| 欧美日韩一区二区免费视频| xxxxxxxxx欧美| 日本中文字幕不卡免费| 欧美中文字幕第一页| 精品人伦一区二区三区蜜桃免费| 成人情趣片在线观看免费| 精品日本高清在线播放| 亚洲成av人影院在线观看| 97视频色精品| 日韩精品999| 欧美国产精品人人做人人爱| 亚洲女同精品视频| 欧美激情喷水视频| 欧美日韩美女在线| 日本精品免费一区二区三区| 97视频网站入口| 精品国产精品三级精品av网址| 国产成人精品午夜| 欧美性猛交xxx| 国产欧美一区二区三区视频| 在线亚洲午夜片av大片| 欧美激情欧美狂野欧美精品| 欧美成人手机在线| 黄色一区二区在线| 亚洲成人网久久久| 成人激情视频网| 亚洲天堂色网站| 亚洲风情亚aⅴ在线发布| 亚洲精品电影久久久| 亚洲一区二区福利| 美女福利视频一区| 欧美另类交人妖| 欧美第一页在线| 理论片在线不卡免费观看| 亚洲人午夜精品免费| 日韩精品在线观看一区| 亚洲精品98久久久久久中文字幕| 午夜精品福利在线观看| 亚洲毛片在线观看.| 亚洲精品aⅴ中文字幕乱码| 国产日韩中文在线| 久久免费在线观看| 日韩在线一区二区三区免费视频| 久久香蕉国产线看观看网| 自拍偷拍免费精品| 亚洲第一男人av| 亚洲天堂免费视频| 日韩av综合中文字幕| 国产一区二区在线免费视频| 中文字幕av一区二区三区谷原希美| 中文字幕精品一区二区精品| 欧美一级片久久久久久久| 欧美亚洲另类制服自拍| 精品呦交小u女在线| 日韩精品在线观看一区| 欧美人在线视频| 国内精品久久久久| 在线观看免费高清视频97| 国产成人精品视| 日韩欧美在线免费| 海角国产乱辈乱精品视频| 九九热这里只有在线精品视| 国产精品久久久久av免费| 国产日韩精品综合网站| 国语自产精品视频在线看抢先版图片| 成人福利网站在线观看| 国产精品扒开腿做爽爽爽男男| 欧美激情图片区| 久久免费精品日本久久中文字幕| 久久免费精品日本久久中文字幕| 欧美激情免费视频| 亚洲天堂第一页| 国产精品专区第二| 中文字幕精品影院| 国产精品久久久一区| 久热精品在线视频| 色偷偷av一区二区三区乱| 7m第一福利500精品视频| 国产精品精品视频| 欧美中在线观看| 国产日韩欧美影视| 自拍偷拍亚洲在线| 黑人极品videos精品欧美裸| 亚洲欧美成人一区二区在线电影| 国产精品视频白浆免费视频| 国产精品色婷婷视频| 欧美日韩在线观看视频| 久久婷婷国产麻豆91天堂| 久久久精品一区二区三区| 91在线视频导航| 国内精品久久久久久影视8| 91精品美女在线| 精品久久久久久久久久ntr影视| 亚洲日本中文字幕免费在线不卡| 亚洲欧美国产精品专区久久| 久久久久久久成人| 精品无码久久久久久国产| 国内精品久久久久影院 日本资源| 亚洲人av在线影院| 国产精品久久网| 精品自拍视频在线观看| 日韩精品亚洲视频| 日韩av免费一区| 中文字幕日韩欧美在线视频| 亚洲成av人片在线观看香蕉| 亚洲美女动态图120秒| 91视频九色网站| 久热精品视频在线观看| 91精品国产综合久久香蕉的用户体验| 亚洲精品v欧美精品v日韩精品| 成人亚洲综合色就1024| 亚洲黄色在线看| 久久91超碰青草是什么| 69视频在线免费观看| 久久久久久亚洲精品| 精品偷拍各种wc美女嘘嘘| 日韩激情av在线免费观看| 亚洲精品久久久一区二区三区| 成人免费在线视频网址| 久久男人av资源网站| 亚洲国产精品成人一区二区| 欧美性理论片在线观看片免费| 久久久久一本一区二区青青蜜月| 97国产精品人人爽人人做| 国产精品成人va在线观看| 日韩久久精品电影| xxxxx成人.com| www.久久撸.com| 日韩有码在线观看| 欧美精品国产精品日韩精品| 性欧美亚洲xxxx乳在线观看| 亚洲国产精品久久久| 欧美成人国产va精品日本一级| 国产最新精品视频| 粉嫩av一区二区三区免费野| 亚洲国产日韩欧美在线图片| 久久久999国产精品| 91在线播放国产| 中文字幕在线日韩| 亚洲精品久久久久久久久| 国产欧美一区二区三区在线| 超碰日本道色综合久久综合| 亚洲成人中文字幕| 热久久这里只有| 亚洲xxxxx性|