【问题标题】:Use mkattr in perl script (Unix env)?在 perl 脚本(Unix 环境)中使用 mkattr?
【发布时间】:2017-11-19 02:40:31
【问题描述】:

明文命令行 mkattr 需要将变量 $bug_num 包裹在单引号 + 引号 + $varible + 引号 + 单引号之间,像这样:

cleartool mkattr -replace BUGNUM '"$bug_num"' clearcase_file

如何在 Unix 环境中的 Perl 脚本中调用命令 cleartool mkattr? Env 是 Unix AIX 和 ksh

【问题讨论】:

    标签: perl ksh clearcase cleartool


    【解决方案1】:

    this recent answer中所述:

    如果你想执行一个系统命令并且不需要像重定向那样使用任何 shell 语法,通常使用 system 的列表形式会更好更安全:

    system(
        'cleartool',  'mkattr', '-replace', 'BUGNUM ',
        qq{"$bug_num"}, qq{clearcase_file}
    );
    # or, if you really want to pass both types of quotes:
    system(
        'cleartool',  'mkattr', '-replace', 'BUGNUM ',
        qq{'"$bug_num"'}, qq{clearcase_file}
    );
    

    或者:

    system(qq{cleartool mkattr -replace BUGNUM '"$bug_num"' clearcase_file});
    

    【讨论】:

    • 感谢您的帮助。如果可行,我明天会为你的帖子投票。
    • 太棒了!你选择了哪种语法?
    猜你喜欢
    • 2023-03-03
    • 1970-01-01
    • 2017-10-26
    • 2011-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-23
    相关资源
    最近更新 更多