kubernetes shell 脚本:容器与主机[已关闭]

2ledvvac  于 2023-03-22  发布在  Kubernetes
关注(0)|答案(1)|浏览(106)

已关闭。此问题需要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
5w9g7ksd

5w9g7ksd1#

我不知道你是如何能够运行上述shell脚本到阿尔卑斯山版本。

#!/bin/bash 
for i in "${@:2}"
do  
        echo $i
done

在脚本中,你使用的是#!/bin/bash,它在alpine中不受支持。
问题可能是由于不同的解释器,shbash你使用的是哪一个。Debian附带bash,而alpine默认使用sh**。
您可以使用以下命令快速验证它:docker pull alpine:latest
docker run -it alpine bashdocker run -it alpine sh将工作。

相关问题