一次执行多个unix命令

I a*_* am 1 unix

这是我的任务命令.

find -name myname.tar
tar -xvf myname.tar
rm -r myname/*
Run Code Online (Sandbox Code Playgroud)

这些多行命令工作正常,但我需要一行命令.然后我用这个命令,

find -name myname.tar | tar -xvf myname.tar | rm -r myname/*
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

"rm -r myname/*
rm: cannot remove `myname/*': No such file or directory "
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我吗?

谢谢

Eug*_*eck 7

很可能你正在寻找一种方法来执行下一个命令,如果前一个命令运行没有错误.

  • 在UNIX中,来自命令行工具的错误通常会更改程序的退出状态
  • 在大多数UNIX shell中,&&操作员检查退出状态并继续,如果是0(对于OK)

所以你想要的是

find -name myname.tar && tar -xvf myname.tar && rm -r myname/*
Run Code Online (Sandbox Code Playgroud)