【发布时间】:2011-01-17 02:35:38
【问题描述】:
我有一个名为 test.sh 的脚本:
#!/bin/bash
STR = "Hello World"
echo $STR
当我运行 sh test.sh 时,我得到了这个:
test.sh: line 2: STR: command not found
我做错了什么?我在网上查看了非常基本的/初学者 bash 脚本教程,这就是他们所说的声明变量的方式......所以我不确定我做错了什么。
我在 Ubuntu Server 9.10 上。是的,bash 位于/bin/bash。
【问题讨论】:
-
很高兴你确实提出了这个问题,你不是唯一的 bash 菜鸟!
-
感谢您提出这个问题。这不是一个尴尬的问题。我在办公室工作到深夜,我周围没有 Bash 专家来回答这个问题。
-
现在(差不多七年后!)有一个名为shellcheck 的 FOSS linter/analyzer 可以自动检测这个和其他常见的语法问题。它可以在线使用或离线安装并集成到您的编辑器中。
-
我建议您使用:
#!/usr/bin/env bash而不是直接输入#!/bin/bash,除非您绝对确定您的bash在/bin中,因为这个答案是:stackoverflow.com/a/21613044/3589567
标签: bash shell syntax sh variable-assignment