已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。
4天前关闭。
Improve this question
For循环从第二个参数开始,在容器和主机上的行为不同
#!/bin/bash
for i in "${@:2}"
do
echo $i
done
电话:
script.sh 129 5 6 7
输出:容器:Alpine:最新#跳过2个字符
9 5 6 7
主机:Debian GNU/Linux #跳过第一个参数完成
5 6 7
1条答案
按热度按时间5w9g7ksd1#
我不知道你是如何能够运行上述shell脚本到阿尔卑斯山版本。
在脚本中,你使用的是
#!/bin/bash
,它在alpine中不受支持。问题可能是由于不同的解释器,
sh
和bash
你使用的是哪一个。Debian附带bash,而alpine默认使用sh**。您可以使用以下命令快速验证它:
docker pull alpine:latest
docker run -it alpine bash
而docker run -it alpine sh
将工作。