[問題] 如何將bash的cmd存在變數中

看板Linux作者 (Ar藤)時間9年前 (2015/06/06 16:12), 編輯推噓4(406)
留言10則, 6人參與, 最新討論串1/1
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

06/06 16:15, , 1F
eval
06/06 16:15, 1F

06/06 16:35, , 2F
cmd=$(ps ux | grep vim)
06/06 16:35, 2F

06/06 16:35, , 3F
echo $cmd
06/06 16:35, 3F

06/06 16:58, , 4F
同一樓所述:cmd="ps ux | grep 'vim'"
06/06 16:58, 4F

06/06 16:59, , 5F
eval "$cmd"
06/06 16:59, 5F

06/07 00:54, , 6F
cmd=`ps ux | grep 'vim'` <== 這樣就好了
06/07 00:54, 6F

06/07 17:07, , 7F
他要存command 不是結果啊...
06/07 17:07, 7F

06/07 17:08, , 8F
雖然應該是不見得需要存指令就是
06/07 17:08, 8F

06/07 17:50, , 9F
alias ?
06/07 17:50, 9F

06/07 22:19, , 10F
可以function
06/07 22:19, 10F
文章代碼(AID): #1LSgjavo (Linux)