为什么我的环境变量会添加空格?

huangapple go评论104阅读模式
英文:

Why are my environmental variables adding whitespace?

问题

我正在运行Debian 12和Python 3.9.16。

test.env:

  1. export TEST="ABC"
  2. export SECONDTEST="DEF"

我运行了source test.env

然后尝试在Python中运行此脚本:

  1. import os
  2. test1 = os.getenv("TEST")
  3. test2 = os.getenv("SECONDTEST")
  4. def printenv(envvar):
  5. print(envvar)
  6. for char in envvar:
  7. print(char)
  8. print("done")
  9. if envvar == "ABC" or envvar == "DEF":
  10. print("ok!")
  11. else:
  12. print("Not ok!")
  13. printenv(test1)
  14. printenv(test2)
  15. printenv(test1.rstrip())

环境变量在末尾添加了换行符。输出如下:

  1. ABC
  2. A
  3. B
  4. C
  5. done
  6. ok!
  7. DEF
  8. D
  9. E
  10. F
  11. done
  12. ok!
  13. ABC
  14. A
  15. B
  16. C
  17. done
  18. ok!

为什么我的环境变量中有换行字符?

英文:

I'm running Debian 12 and Python 3.9.16.

test.env:

  1. export TEST="ABC"
  2. export SECONDTEST="DEF"

I run source test.env

Then try to run this script in Python:

  1. import os
  2. test1 = os.getenv("TEST")
  3. test2 = os.getenv("SECONDTEST")
  4. def printenv(envvar):
  5. print(envvar)
  6. for char in envvar:
  7. print(char)
  8. print("done")
  9. if envvar == "ABC" or envvar == "DEF":
  10. print("ok!")
  11. else:
  12. print("Not ok!")
  13. printenv(test1)
  14. printenv(test2)
  15. printenv(test1.rstrip())

The environmental variables add a new line character to the end. The output is:

  1. A
  2. B
  3. C
  4. done
  5. Not ok!
  6. DEF
  7. D
  8. E
  9. F
  10. done
  11. Not ok!
  12. ABC
  13. A
  14. B
  15. C
  16. done
  17. ok!

Why are there newline characters in my environmental variables?

答案1

得分: 1

你的test.env脚本中使用了MSWin的行结束符。这意味着每行都以$'\r'结尾,该字符被附加到分配给变量的值后面。

运行fromdosdos2unix来解决CR/LF问题。

英文:

You have MSWin line ends in the test.env script. It means each line ends with a $'\r' which is appended to the value assigned to a variable.

Run fromdos or dos2unix to fix the CR/LF issue.

huangapple
  • 本文由 发表于 2023年7月13日 16:47:35
  • 转载请务必保留本文链接:https://go.coder-hub.com/76677515.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定