吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 819|回复: 8
收起左侧

[求助] shell命令问题请教

[复制链接]
ppgjx 发表于 2022-3-11 10:18
我有个shell脚本是这样的 这个脚本的意思是进入docker容器 执行sh /opt/two.sh
但实际上执行的话sh /opt/two.sh是不会被执行的 因为执行了 docker exec -it sign /bin/bash 就等于开了个新终端 sh /opt/two.sh 这段代码就丢失了 怎么办呢
image.png
#!/bin/bash
docker exec -it sign /bin/bash
sh /opt/two.sh

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

灿烂的小居 发表于 2022-3-11 10:26
[Shell] 纯文本查看 复制代码
#!/bin/bash
docker exec -it sign /bin/bash
docker run ubuntu sh -c sh /opt/two.sh

这样呢
52smallpig123 发表于 2022-3-11 10:53
pzx521521 发表于 2022-3-11 11:15
sh 加 -c 就好了
sh 就是bash 如果不需要打开进入sh 是没有必要在第二条加sh的
[Asm] 纯文本查看 复制代码
docker exec -it sign /bin/bash -c "/opt/two.sh"
zx5706112 发表于 2022-3-11 11:24
本帖最后由 zx5706112 于 2022-3-11 11:33 编辑

docker  exec  -it sign /bin/bash /opt/two.sh    这样就行啊
hackyun 发表于 2022-3-11 11:25
[PowerShell] 纯文本查看 复制代码
#!/bin/bash
docker exec  sign  sh /opt/two.sh


sh命令找不到的话可以改成  /bin/sh 试一下
pzx521521 发表于 2022-3-11 11:25
2L 的意思是 重开一个 image是ubuntu 的Container在这个Container下执行/opt/two.sh
pzx521521 发表于 2022-3-11 11:27
PS: 一般会有 Permission denied 要chmod
如果不想chmod 可以这样:
[Asm] 纯文本查看 复制代码
docker exec -it sign /bin/bash -c "/bin/bash /opt/two.sh"

原因是外部(第一个/bin/bash)是没有内部的权限的
whh19921024 发表于 2022-3-11 23:48
echo "sh /opt/two.sh" | docker exec -it sign /bin/bash --stdin  可以试试
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 16:49

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表