我有一个变量,让我们说$x,它具有的价值website.com.我希望能够调用变量并将shell颜色应用于它,如下所示:
echo -e '\033[1;32m$x:\033[0m';
Run Code Online (Sandbox Code Playgroud)
问题不在于颜色,而是它解释输出的脚本.所以我得到的输出是:
$x:
Run Code Online (Sandbox Code Playgroud)
我需要输出显然是变量中的字符串,而不是变量名称.有没有解决这个问题的方法?
我的问题是:你如何在字符串中允许单引号?
例如,我有一个表单和一个文本框.它被设置为允许用户输入他们的名字.从那里,它将数据发布并提供给数据库.
我需要能够允许单引号(撇号),因为有些人的名字在他们的名字中有撇号,例如"O'Reilly".
有什么建议?
快问,
有没有办法通过perl将命令传递到另一个命令,就像在*Nix命令行中一样?
例如:
free -m | grep Mem
我怎么能在Perl中做"管道"?
随意编辑标题;不知道该怎么说。我正在尝试将 shell 输出转换为 JSON 数据,用于我正在编写的工作报告系统。快速问题,无论我做什么,当我在 slurp 模式下获取原始输入并输出 JSON 时,数组中的最后一项是空白(“”)。我觉得这是我遇到的某种菜鸟jq问题,但不知道如何表达这个问题。无论我在 shell 上运行什么命令并通过管道传输到:这似乎都会发生jq:
# rpm -qa | grep kernel | jq -R -s 'split("\n")'
[
"kernel-2.6.32-504.8.1.el6.x86_64",
"kernel-firmware-2.6.32-696.20.1.el6.noarch",
"kernel-headers-2.6.32-696.20.1.el6.x86_64",
"dracut-kernel-004-409.el6_8.2.noarch",
"abrt-addon-kerneloops-2.0.8-43.el6.x86_64",
"kernel-devel-2.6.32-358.11.1.el6.x86_64",
"kernel-2.6.32-131.4.1.el6.x86_64",
"kernel-devel-2.6.32-696.20.1.el6.x86_64",
"kernel-2.6.32-696.20.1.el6.x86_64",
"kernel-devel-2.6.32-504.8.1.el6.x86_64",
"libreport-plugin-kerneloops-2.0.9-33.el6.x86_64",
""
]
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏。
正如问题所暗示的,我试图评估 Ansible 角色中的一个事实,如果该值大于或等于一个数字并且小于或等于另一个数字;基本上是一个范围。我似乎无法找到如何做到这一点。
这是我的剧本片段的一部分:
- name: DEBUG Snapshots to be deleted
debug:
msg: The snapshot for {{ inventory_hostname.split("_")[0] }} is {{ snap_age }} day(s) old and would have been deleted.
when: (old_snap is defined) and (old_snap == true) and (snap_age >= "1")
Run Code Online (Sandbox Code Playgroud)
上面的代码实际上有效,它返回两项,一项是 80 天前的项目,一项是 102 天前的项目。
现在我想要获取年龄在 1 到 100 之间的任何快照。我尝试这样做:
- name: DEBUG Snapshots to be deleted
debug:
msg: The snapshot for {{ inventory_hostname.split("_")[0] }} is {{ snap_age }} day(s) old and would have been deleted.
when: (old_snap …Run Code Online (Sandbox Code Playgroud)