【发布时间】:2020-07-29 12:59:57
【问题描述】:
我正在尝试编写一个简单的 shell 脚本,我通过 tcsh ./renameTool 执行该脚本
它适用于
#!/bin/tcsh
# Variablen
echo "MYVAR is"
但不是为了
#!/bin/tcsh
# Variablen
MYVAR="hi there"
echo "MYVAR is: $MYVAR"
我收到错误: MYVAR=hi there: 找不到命令。 MYVAR:未定义的变量
我在声明变量时已经检查了任何空格。没有变化...
你能帮帮我吗?
谢谢你:-)
卢卡斯
【问题讨论】:
-
tcsh不是bash;它与不兼容的家庭完全不同。标记您实际使用的 shell(并确保使用该 shell 的语法/语言编写脚本)。 -
...顺便说一句,如果您可以完全避免它,您绝对不应该选择使用 tcsh 或任何其他 csh-family shell。关于这个主题有几篇经典论文——其中包括grymoire.com/Unix/CshTop10.txt——但底线是它是一种设计不佳的语言,早在 1992 年,POSIX 就对 Bourne 家族的一种语言进行了标准化(从 ksh 获得了额外的灵感)作为 POSIX sh,bash 遵守的标准。在标准决定被转移到其他地方几十年后,没有理由继续使用 csh 家族的任何东西。