【问题标题】:What is DEFINE in shell script什么是 shell 脚本中的 DEFINE
【发布时间】:2013-11-27 08:05:02
【问题描述】:

谁能告诉我在 KornShell (ksh) 脚本中使用关键字 DEFINE 吗?我在互联网上搜索了很多,但没有得到满意的解决方案。

示例脚本:

#!/bin/ksh
#-------------------------------------------------------------------------------‌​---------- 
#DEFINE TYPE=$PRODUCT_TYPE;

【问题讨论】:

  • 你说的是哪个shell?
  • 您是否有可能将 .c.h 文件误认为是 shell 脚本?
  • 如果你不确定你说的是什么shell,你可以粘贴一些例子。
  • 是的.. 这是我的例子 DEFINE TYPE=$PRODUCT_TYPE;
  • @Vishal6589 不要在 cmets 中输出代码。而是更新您的问题。

标签: shell scripting comments ksh


【解决方案1】:

Bourne shell 及其 POSIX 衍生物和变体,例如 Bash 和 ksh 没有 define 关键字(更不用说任何大写关键字)。

也许您正在查看一个包含此名称的函数的脚本,或者您的系统可能有一个具有此名称的命令。或者您可能根本没有查看 shell 脚本——例如,许多 SQL 查询在 shell 脚本的 sn-p 中运行 SQL 命令,但这些 SQL 命令显然不是 shell 命令。

【讨论】:

  • 这如何回答这个问题 - 如果有人可以称之为问题......?
  • 也许这是一个技巧问题?它回答了我能够解释的问题。 “你用define做什么?” - “你没有。”
【解决方案2】:

shell 是 shebang 中指定的 KSH(脚本的第一行)

DEFINE 在 KSH 中不存在,但它已被注释,所以我怀疑此行是由其他进程使用/生成的,在 KSH 下运行时可以使用它而不影响此脚本。

【讨论】:

    【解决方案3】:

    #DEFINE 是此 ksh 脚本中的注释,因为它以磅叹息开头(即 #):

    ksh 评论示例:

    #Comments start with a pound sigh (i.e., #).
    #This next line is a comment.
    #DEFINE TYPE=$PRODUCT_TYPE;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-17
      • 1970-01-01
      • 1970-01-01
      • 2013-04-08
      • 2017-06-22
      • 2020-11-27
      • 2010-12-25
      • 1970-01-01
      相关资源
      最近更新 更多