gpt4 book ai didi

linux - 无法获取简单的 bash 脚本

转载 作者:太空宇宙 更新时间:2023-11-04 09:11:28 25 4
gpt4 key购买 nike

我理解在 SO 中多次被问到与此类似的问题。但是,我在这里找不到任何常见的嫌疑人。

#!/bin/bash
myvar="test"
if [ "$myvar" == "test" ]
then
echo "Test mode"
fi

花了很多时间在上面。谁能告诉我我错过了什么?

我能够执行脚本,但无法获取脚本。

bash: test.sh: line 7: syntax error: unexpected end of file 错误

$ which bash
/bin/bash
$ bash --version
3.2.57(1)

我可以在我的另一台 Mac 上进行同样的工作。所以,这在我的 Mac 上几乎是出了问题,但无法弄清楚它是什么。此外,不仅是上述脚本,任何带有“如果”条件的脚本我都无法获取。尝试了提到的不同示例 here ,同样的语法错误。

编辑1:

$ file test.sh 
test.sh: Bourne-Again shell script text executable, ASCII text

编辑2:

$ hexdump -C test.sh
00000000 23 21 2f 62 69 6e 2f 62 61 73 68 0a 6d 79 76 61 |#!/bin/bash.myva|
00000010 72 3d 22 74 65 73 74 22 0a 69 66 20 5b 20 22 24 |r="test".if [ "$|
00000020 6d 79 76 61 72 22 20 3d 3d 20 22 74 65 73 74 22 |myvar" == "test"|
00000030 20 5d 0a 74 68 65 6e 0a 65 63 68 6f 20 22 54 65 | ].then.echo "Te|
00000040 73 74 20 6d 6f 64 65 22 0a 66 69 0a |st mode".fi.|
0000004c

最佳答案

检查换行符差异或编码页面。如果它像这样简单并且涉及到 mac,请始终先检查一下

关于linux - 无法获取简单的 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55720897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com