作者Arton0306 (Ar藤)
看板Linux
標題[問題] 如何將bash的cmd存在變數中
時間Sat Jun 6 16:12:17 2015
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://webptt.com/m.aspx?n=bbs/Linux/M.1433578340.A.E72.html
1F:→ danny8376: eval 06/06 16:15
2F:→ magicrex: cmd=$(ps ux | grep vim) 06/06 16:35
3F:→ magicrex: echo $cmd 06/06 16:35
4F:推 goldie: 同一樓所述:cmd="ps ux | grep 'vim'" 06/06 16:58
5F:→ goldie: eval "$cmd" 06/06 16:59
6F:推 Nephom: cmd=`ps ux | grep 'vim'` <== 這樣就好了 06/07 00:54
7F:→ danny8376: 他要存command 不是結果啊... 06/07 17:07
8F:→ danny8376: 雖然應該是不見得需要存指令就是 06/07 17:08
9F:推 Bencrie: alias ? 06/07 17:50
10F:推 jokester: 可以function 06/07 22:19