看板 Linux 關於我們 聯絡資訊
ps ux | grep 'ssh xxx' | grep -v 'grep' ps ux | grep 'ssh xxx' | grep -v 'grep' | awk '{print $2};' kill `ps ux | grep 'ssh xxx' | grep -v 'grep' | awk '{print $2};'` 想做類似上面的事 我想把第一行的指令存成變數 第2,3行就不用copy&paste 試了一陣子還是無法成功 簡化到後來 發現 cmd="ps ux | grep 'vim'" $cmd 這樣的2行就無法成功 但是 cmd="ps ux" $cmd 這樣是可以的 目前的猜測是pipeline造成的 | 是bash的語法,但$cmd解析後就丟給了ps ps認不出 | 請問怎麼寫才能避免最前面3行的copy&paste呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 198.0.198.42 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1433578340.A.E72.html
danny8376: eval 06/06 16:15
magicrex: cmd=$(ps ux | grep vim) 06/06 16:35
magicrex: echo $cmd 06/06 16:35
goldie: 同一樓所述:cmd="ps ux | grep 'vim'" 06/06 16:58
goldie: eval "$cmd" 06/06 16:59
Nephom: cmd=`ps ux | grep 'vim'` <== 這樣就好了 06/07 00:54
danny8376: 他要存command 不是結果啊... 06/07 17:07
danny8376: 雖然應該是不見得需要存指令就是 06/07 17:08
Bencrie: alias ? 06/07 17:50
jokester: 可以function 06/07 22:19