繁体   English   中英

从 shell 脚本执行另一个 unix 命令

[英]execute another unix command from shell script

我有一个 shell 脚本,它转到某个目录并删除父目录(/home/nandus/tryd)下存在的所有子目录。 删除后,脚本必须在删除操作后显示父目录结构,只是为了向最终用户显示所有子目录都已删除。

我尝试对 rm -rf * 使用 exec,但它没有返回到主程序,也没有执行 shell 脚本中的剩余步骤。

您能告诉我如何执行此 shell 脚本吗?

  cd /home/nandus/tryd
  exec rm -rf *
  echo '/home/nandus/tryd directory structure post delete'
  cd /home/nandis/tryd
  exec pwd
  exec ls -ltr

强文本

作为 bash,exec 用新程序替换当前程序。 不分叉孩子。

打开一个bash shell,试试下面

mkdir tmp && cd tmp
exec sleep 10

目录建立和设置后, Bash session 替换为 sleep 10 10 秒后自动退出

mkdir tmp && cd tmp
exec pwd && sleep 10

Bash session 替换为 pwd,其目的不是为了保持 session 并执行“&&”,因此永远不会到达睡眠状态。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM