首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在zsh函数中,如何回显命令

在zsh函数中,如何回显命令
EN

Stack Overflow用户
提问于 2013-11-20 05:26:15
回答 2查看 7.8K关注 0票数 5

与shell脚本和回显命令相关的问题:In a shell script: echo shell commands as they are executed

我想做这样的事情:

代码语言:javascript
复制
foo() {
  cmd='ls -lt | head'
  echo $cmd
  eval ${cmd}
}

我试过这个:

代码语言:javascript
复制
foo2() {
  set -x
  ls -lt | head
  set +x
}

但这会产生额外的输出

代码语言:javascript
复制
+foo2:2> ls -G -lt
+foo2:2> head
total 136
drwxr-xr-x  18 justin  staff    612 Nov 19 10:10 spec
+foo2:3> set +x

在zsh函数中有没有更好的方法来实现这一点呢?

我想做这样的事情:

代码语言:javascript
复制
foo() {
  cmd='ls -lt | head'
  eval -x ${cmd}
}

并且只需回显正在运行的cmd (可能带有别名的扩展)。

EN

Stack Overflow用户

发布于 2016-03-01 01:52:34

setopt verbose

将其放在您想要在命令运行时开始回显命令的位置,当您不想要该行为时,使用

unsetopt verbose

附注:我意识到这个帖子太老了,无法回答最初的提问者,但我想在未来帮助任何遇到这个问题的人。

票数 11
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20082388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档