【发布时间】:2025-11-29 12:25:01
【问题描述】:
我对 Linux shell 感到困惑。可能是我作为 Linux 菜鸟监督了一些显而易见的事情。
我只想运行以下脚本:
#!/bin/bash
echo "Type some Text:"
read var
echo "You entered: "$var
情况如下:
- 在 Windows 上的 VirtualBox 中安装了 Ubuntu Server 14.04
- 用这个packages安装它
- 安装在 /media/buff 上的 SAMBA
- 脚本位于 /media/buff/ShellScript/test.sh
- 由“sudo chmod a+x /media/buff/ShellScript/test.sh”制成可执行文件
- 其余为默认值
- 我在 windows 上使用 PSPad 来编辑脚本文件
我 read 关于破折号,但我不明白。 以下是一些变化:
使用 sh 启动
user@Ubuntu:/media/buff/ShellScript$ sh test.sh
Type some Text:
:bad variable nameread var
You entered:
使用 bash 启动:
user@Ubuntu:/media/buff/ShellScript$ bash test.sh
Type some Text:
': Ist kein gültiger Bezeichner.var (means no valid identifyier)
You entered:
将脚本中的Shebang改为“#!/bin/sh”,使用sh启动
user@Ubuntu:/media/buff/ShellScript$ sh test.sh
Type some Text:
:bad variable nameread var
You entered:
我现在在互联网上搜索了几个小时,我认为脚本本身没问题,但是缺少一些环境设置。 我使用“sudo dpkg-reconfigure dash”将 dash 设置为默认 shell(我认为无论如何都是 ubuntu 默认的)
悲伤的熊猫 :)
【问题讨论】:
-
顺便说一句,如果您阅读了 bash 标签 wiki,这将是 第一件事,它说要检查 在您提出问题之前。 *.com/tags/bash/info
-
谢谢。我不知道那些信息页面。错误消息无助于在 google 上查找有关该问题的信息。
标签: bash variables ubuntu server