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

Chinaunix

標題: history腳本調用疑惑 [打印本頁]

作者: huazai0715    時間: 2015-11-18 16:46
標題: history腳本調用疑惑
突發(fā)奇想,通過腳本執(zhí)行歷史命令,節(jié)省時間,問題來了;
小弟腳本如下
  1. #!/bin/bash
  2. for i in `seq -w 839 851`
  3. do
  4.         cd /root/soft && $(eval !$i)
  5.         #cd /root/soft && !$i
  6.         sleep 1
  7. done
復制代碼

想等到的結果為執(zhí)行歷史命令!839 - !851歷史命令;執(zhí)行腳本如下
  1. [root@SHHQ-LT10L5G-E9000-0012 soft]# sh -xv test.sh
  2. #!/bin/bash
  3. for i in `seq -w 839 851`
  4. do
  5.         cd /root/soft && $(eval !$i)
  6.         sleep 1
  7. done
  8. ++ seq -w 839 851
  9. + for i in '`seq -w 839 851`'
  10. + cd /root/soft
  11. ++ eval '!839'
  12. +++ '!839'
  13. test.sh:行4: !839: 未找到命令
  14. + sleep 1
  15. + for i in '`seq -w 839 851`'
  16. + cd /root/soft
  17. ++ eval '!840'
  18. +++ '!840'
  19. test.sh:行4: !840: 未找到命令
  20. ……
復制代碼
求大神指教!
作者: sync_1521    時間: 2015-11-18 17:35
本帖最后由 sync_1521 于 2015-11-18 17:37 編輯

!在腳本中應該不能當命令用吧  
比如你會在判斷中用到
if [ ! -n $a ]
如果能當命令用豈不亂了。。
坐等大神解惑
  1. [root@test ~]# type !
  2. ! is a shell keyword
復制代碼

作者: lgfang    時間: 2015-11-18 19:12
本帖最后由 lgfang 于 2015-11-18 19:13 編輯

!number 只有在交互shell下才能用吧。

這個也許可以。不過我感覺這樣是不是不太安全?

  1. history | awk '$1~/839/,$1~/851/{print}' | while read history_number command; do eval "$command"; done
復制代碼





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