【问题标题】:tcsh shell script gives "command not found" even for var=value即使对于 var=value,tcsh shell 脚本也会给出“找不到命令”
【发布时间】: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 家族的任何东西。

标签: shell tcsh


【解决方案1】:
#!/bin/tcsh

set MYVAR = "hi there"
echo "MYVAR is: $MYVAR"

【讨论】:

  • 很好,如果你添加一些解释。它有助于理解您的示例为何有效(寻找此类问题的人可能不是 tcsh 用户
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-07
  • 1970-01-01
  • 2020-01-26
  • 1970-01-01
  • 2017-08-15
  • 2018-09-24
  • 2018-05-27
相关资源
最近更新 更多