【问题标题】:Linux: How to add $ symbol inside alias?Linux:如何在别名中添加 $ 符号?
【发布时间】:2015-11-06 08:53:31
【问题描述】:

我使用“csh”外壳。我有一个sed 命令,如下所示将数据从 String1 获取到下一个 emptyNewLine。

sed -n '/startString/,/^$/p' myLog.log  # ==> works fine

但是当我在“别名”中使用上述sed 命令时,我收到以下错误:

<48 sne-70 [sunil_c85see] :/home1/sunil_c85see>alias check "sed -n '/startString/,/^$/p' myLog.log"
**Illegal variable name.**

任何建议如何解决这个问题。

【问题讨论】:

    标签: linux shell sed alias csh


    【解决方案1】:
    alias check "sed -n '/startString/,/^"\$"/p' myLog.log"
    

    【讨论】:

      【解决方案2】:

      '%' 只需要一个倒引号

      SELECT salesman_id,name,city,'%',commission*100 FROM salesman;       
      

      【讨论】:

        【解决方案3】:

        你得到一个错误,因为你有错误的语法来创建别名,而是尝试

        alias check="sed -n '/startString/,/^$/p' myLog.log"
        

        注意别名和字符串之间的=

        【讨论】:

        • 不,我在使用 = 时也遇到同样的错误...当我删除 $ 时,在 cmd 以下工作正常,别名检查“sed -n '/startString/,/endString/ p' myLog.log"
        • @SunilGowda 像\$ 那样转义美元符号怎么样?另外,您能否编辑您的问题以显示 completeunedited 错误消息?将终端窗口中的实际文本连同命令一起复制粘贴到您的问题中。
        猜你喜欢
        • 2021-12-31
        • 2019-05-14
        • 2020-03-17
        • 2014-06-11
        • 1970-01-01
        • 1970-01-01
        • 2017-10-04
        • 2011-03-26
        • 1970-01-01
        相关资源
        最近更新 更多