为什么我的命令在使用别名时不起作用?

奇希兹·夏尔马

ps -ef | grep catalina | grep -v grep用来打印在系统上运行的tomcat进程:

kshitiz   7099     1  0 May11 ?        00:02:29 /usr/lib/jvm/jdk1.8.0/bin/java -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:38156 -Dcatalina.base=/home/kshitiz/Documents/workspaces/ggts/.metadata/.plugins/org.eclipse.wst.server.core/tmp1 -Dcatalina.home=/opt/tomcat-7.0.42 -Dwtp.deploy=/home/kshitiz/Documents/workspaces/ggts/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps -Djava.endorsed.dirs=/opt/tomcat-7.0.42/endorsed -Dfile.encoding=UTF-8 -classpath /opt/tomcat-7.0.42/bin/bootstrap.jar:/opt/tomcat-7.0.42/bin/tomcat-juli.jar:/usr/lib/jvm/jdk1.8.0/lib/tools.jar org.apache.catalina.startup.Bootstrap start

然后,我ps -ef | grep catalina | grep -v grep | awk -F' ' '{print $2}'用来提取进程ID:

7099

但是,当我为整个命令alias tomcat_id="ps -ef | grep catalina | grep -v grep | awk -F' ' '{print $2}'"加上别名并通过别名使用它时,它将打印整个文本,awk并且似乎不起作用。

type tomcat_id 给出:

tomcat_id is aliased to `ps -ef | grep catalina | grep -v grep | awk -F' ' '{print }''
吉勒斯“别再邪恶了”

别名的一般规则:如果别名变得太复杂,请改用函数。

tomcat_id () {
  ps -ef | grep catalina | grep -v grep | awk -F' ' '{print $2}'
}

别名定义的问题是引号错误。定义别名的行是一个shell命令,并由shell进行解析。由于您使用了双引号,并且当时可能没有位置参数(因此$2扩展为空字符串),因此您定义的别名为

ps -ef | grep catalina | grep -v grep | awk -F' ' '{print }'

定义别名的简单方法是对定义使用单引号,并避免在别名命令中使用单引号。在使用它的同时,我已经删除了-F " ",无论如何它都是默认设置(有点怪异,因为它看起来像“空格”,但意味着“任何空白序列”)。

alias tomcat_id='ps -ef | grep catalina | grep -v grep | awk "{print \$2}"'

或者,您可以使用'\''有效的单引号内的单引号。

alias tomcat_id='ps -ef | grep catalina | grep -v grep | awk '\''{print \$2}'\'

但是,就像我在上面写的那样,使用一个函数会更清楚。或更确切地说,使用适当的工具来完成这项工作:

alias tomcat_id='pgrep catalina'

或者

alias tomcat_id='pidof catalina'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我的别名现在不起作用?

来自分类Dev

为什么我的别名在Zsh中不起作用?

来自分类Dev

为什么我的find命令不起作用?

来自分类Dev

为什么我的cd命令不起作用?

来自分类Dev

为什么我在终端中的“ at”命令不起作用?

来自分类Dev

为什么我的xdotool key命令不起作用?

来自分类Dev

为什么我的crontab命令不起作用?

来自分类Dev

为什么我的简单echo命令不起作用?

来自分类Dev

为什么我的grep命令不起作用?

来自分类Dev

为什么我的使用卷曲/智能引号的shell命令不起作用?

来自分类Dev

为什么使用 asterisc 通配符时命令 grep 不起作用 *

来自分类Dev

扩展模板时为什么我的表单不起作用

来自分类Dev

为什么我的jQuery按钮在单击时不起作用?

来自分类Dev

为什么添加.386时我的代码不起作用?

来自分类Dev

为什么这个使用管道的命令不起作用?

来自分类Dev

为什么pssh命令不起作用?

来自分类Dev

为什么pssh命令不起作用?

来自分类Dev

为什么SSH命令不起作用?

来自分类Dev

为什么 AutoSum 命令不起作用?

来自分类Dev

当我不使用全局名称空间时,为什么web.xml不起作用?

来自分类Dev

为什么当我使用“ ==”时datepicker高亮不起作用?

来自分类Dev

当我使用Chrome时,为什么SuperGenPass在某些站点上不起作用?

来自分类Dev

为什么是“高度:自动”;我使用“ float:left”时不起作用?

来自分类Dev

使用JavaScript设计计时器时,为什么我的暂停按钮不起作用?

来自分类Dev

当我在不起作用的地方使用date_add时,为什么呢?

来自分类Dev

当我使用角度标签设置ID时,setMainPage似乎不起作用,为什么?

来自分类Dev

当我使用HTML dom动态添加动画时,为什么SMIL动画不起作用

来自分类Dev

使用 first 和 last 属性时,为什么我的嵌套 IF 在 Smarty 中不起作用?

来自分类Dev

为什么在我的行上下文中使用 Early 函数时不起作用

Related 相关文章

  1. 1

    为什么我的别名现在不起作用?

  2. 2

    为什么我的别名在Zsh中不起作用?

  3. 3

    为什么我的find命令不起作用?

  4. 4

    为什么我的cd命令不起作用?

  5. 5

    为什么我在终端中的“ at”命令不起作用?

  6. 6

    为什么我的xdotool key命令不起作用?

  7. 7

    为什么我的crontab命令不起作用?

  8. 8

    为什么我的简单echo命令不起作用?

  9. 9

    为什么我的grep命令不起作用?

  10. 10

    为什么我的使用卷曲/智能引号的shell命令不起作用?

  11. 11

    为什么使用 asterisc 通配符时命令 grep 不起作用 *

  12. 12

    扩展模板时为什么我的表单不起作用

  13. 13

    为什么我的jQuery按钮在单击时不起作用?

  14. 14

    为什么添加.386时我的代码不起作用?

  15. 15

    为什么这个使用管道的命令不起作用?

  16. 16

    为什么pssh命令不起作用?

  17. 17

    为什么pssh命令不起作用?

  18. 18

    为什么SSH命令不起作用?

  19. 19

    为什么 AutoSum 命令不起作用?

  20. 20

    当我不使用全局名称空间时,为什么web.xml不起作用?

  21. 21

    为什么当我使用“ ==”时datepicker高亮不起作用?

  22. 22

    当我使用Chrome时,为什么SuperGenPass在某些站点上不起作用?

  23. 23

    为什么是“高度:自动”;我使用“ float:left”时不起作用?

  24. 24

    使用JavaScript设计计时器时,为什么我的暂停按钮不起作用?

  25. 25

    当我在不起作用的地方使用date_add时,为什么呢?

  26. 26

    当我使用角度标签设置ID时,setMainPage似乎不起作用,为什么?

  27. 27

    当我使用HTML dom动态添加动画时,为什么SMIL动画不起作用

  28. 28

    使用 first 和 last 属性时,为什么我的嵌套 IF 在 Smarty 中不起作用?

  29. 29

    为什么在我的行上下文中使用 Early 函数时不起作用

热门标签

归档