小编chr*_*ris的帖子

如何在 POSIX shell 中使用字符串评估变量?

我有一个在 ubuntu 容器中运行的脚本:

#!/bin/sh

name=$(cat < /etc/os-release | grep "^NAME" | cut -d "=" -f 2)

if [ $name = "Ubuntu" ] 
then 
  echo "This should return"
else  
  echo "This is wrong"
fi
Run Code Online (Sandbox Code Playgroud)

我通过运行来启动容器:

docker run -it -v $(pwd):/scripts ubuntu:latest /bin/sh /scripts/test.sh
Run Code Online (Sandbox Code Playgroud)

我收到的输出是“这是错误的”,这是不对的,因为我知道 $name 的输出是“Ubuntu”,因为我的笔记本电脑是 Ubuntu,但我找不到其他原因脚本中的路由?它在容器外的笔记本电脑上做同样的事情。

shell ubuntu posix test docker

0
推荐指数
1
解决办法
642
查看次数

标签 统计

docker ×1

posix ×1

shell ×1

test ×1

ubuntu ×1