【发布时间】:2017-01-23 04:20:07
【问题描述】:
将以下代码保存到文件中,Ubuntu 14.04正确认识到是bash:
#!/usr/bin/env bash
awk '{print $1 $2}' my_file
但是在 awk 中添加一条关于输出格式的指令很简单:
#!/usr/bin/env bash
awk 'BEGIN {ORS=" "} {print $1 $2}' my_file
Ubuntu 现在认为这是 Perl,这可以从文件属性和 gedit 如何格式化代码中看出。到底是怎么回事? (我真正关心的是一段比这个玩具示例更长的 bash 代码。)
编辑:
使用扩展名 .bash 保存它是愚弄 Nautilus 的原因......
【问题讨论】:
-
这是 gedit 的问题,而不是 ubuntu 的问题。如果您执行该操作,系统将正确地将其视为 bash,因为您在 #! 中告诉它使用 bash。唯一的故障是您的编辑器混淆了语法。在某些编辑器中,您可以告诉它对它感到困惑的文件使用什么语法突出显示。如果 gedit 不允许您更改它,请寻找可以完成该工作的编辑器。这是关于文档使用的语法突出显示文件,仅此而已。换个代码编辑器试试看是否有同样的问题。