比如我写一个简单的 shell 脚本,但是他会有下图的提示,造成 shell 脚本无法正常运行。
如何自动跳过或者让 shell 脚本在出现这个提示的时候键入回车键?
#!/bin/bash
wget https://github.com/xxx/xxxx.tar.gz
tar -xzvf xxxx.tar.gz
chmod +x xxxx
1
MiketsuSmasher 2022-10-31 15:14:06 +08:00
如果是让你挑具体使用哪个命令的话,可以试试直接从它列出的命令里挑一个,替换掉原脚本里的 wget
|
2
PMR 2022-10-31 15:51:01 +08:00 via Android
-q
|
3
binghe OP |
4
89ao 2022-10-31 16:09:53 +08:00 via iPhone
写死名称好了,不然后写 shell 过滤
|
5
sky96111 2022-10-31 16:13:59 +08:00 via Android
whereis wget 看看,是不是系统里有两个 wget 。一个原生的,一个 busybox 的精简版。
然后把脚本里的 wget 改成绝对路径试试 |
6
AoEiuV020CN 2022-10-31 16:32:24 +08:00
这 shell 管得真宽,我还真没见过这样的,op 是哪个 linux 环境?
按道理说你写的是 wget ,linux 就应该在 path 中按顺序找第一个 wget 运行,而不是让你选,这也太“人性化”了吧, 难道第一个 wget 本身就是个空壳而不是 wget 二进制文件? 直接 cat $(which wget) 看看 wget 是不是个脚本啥的,是的话直接替换掉? |
7
julyclyde 2022-10-31 16:36:39 +08:00
@AoEiuV020CN alias 、内部命令优先于外部命令
|
8
julyclyde 2022-10-31 16:37:12 +08:00
@AoEiuV020CN 不能简单的用 which 。需要先用 type 鉴定
|
9
binghe OP @sky96111 #5 wget 的路径在哪里😅
@AoEiuV020CN #6 whereis wget 或者 cat $(which wget) 都是空的。 Linux 环境是国外的在线容器,不是服务器或者 vps |
11
AoEiuV020CN 2022-10-31 17:08:03 +08:00
@binghe #9 这摆明了魔改的,可以试试 type wget
另外可以看你那容器网站的文档,或者客服,如果有点名气的话可以搜索的时候带上网站名字, |
12
docx 2022-10-31 17:13:47 +08:00 via iPhone
系统问题,有条件可以换个纯净原版系统
|
14
zhanghua0 2022-10-31 18:28:36 +08:00 via Android
也许 wget 用到的是 busybox 内置的那个而不是自己安装的那个
|
15
cssk 2022-10-31 18:36:10 +08:00 via iPhone
伞。伞。伞哥?
|
17
flynaj 2022-11-01 01:41:47 +08:00 via Android
wget 改成 curl -O 看看
|