Tag: shebang

“/ usr / bin / env节点”到底在节点文件的开始处做了什么?

我曾经在nodejs的一些例子的开头看过这行#!/usr/bin/env node ,并且我没有find可以回答该行的原因的任何主题。 单词的性质使得search不那么容易。 我最近读了一些javascript和nodejs书,我不记得在其中任何一本。 如果你想要一个例子,你可以看到RabbitMQ官方教程 ,几乎所有的例子都有它,下面是其中的一个例子: #!/usr/bin/env node var amqp = require('amqplib/callback_api'); amqp.connect('amqp://localhost', function(err, conn) { conn.createChannel(function(err, ch) { var ex = 'logs'; var msg = process.argv.slice(2).join(' ') || 'Hello World!'; ch.assertExchange(ex, 'fanout', {durable: false}); ch.publish(ex, '', new Buffer(msg)); console.log(" [x] Sent %s", msg); }); setTimeout(function() { conn.close(); process.exit(0) }, 500); }); 有人能解释一下这条线的含义吗? 如果我放置或删除此行,有什么区别? […]

如何#! shebang工作?

在脚本中你必须包含一个#! 在第一行,然后是执行脚本的程序的path(例如:sh,perl)。 据我所知, #字符表示一个注释的开始,该行应该被执行该脚本的程序忽略。 看起来,这第一行是在某种程度上被某些东西读取,以便脚本被正确的程序执行。 请有人可以更多地了解#!的运作#! ? 我真的很好奇,所以答案越深入越好。

我应该用什么Perl脚本的shebang线?

哪一个更好或更快地用作Perl脚本的shebang行? #! perl #! perl.exe #! fullpath/perl(/perl.exe) #! partialpath/perl(/perl.exe) 而且,当使用#!perl ,当它在特定系统上工作时,如何在脚本中find我正在使用的perl解释器,以便将其放入shebang行? 而且,如果使用/path/path/perl ,是否允许将*或…用于文件夹?

这两个python shebang有什么区别

我曾经使用shebang #!/usr/bin/env python 什么时候使用更好? #!/usr/bin/python 他们之间的确切区别是什么?

为什么#!/ usr / bin / env bash优于#!/ bin / bash?

我曾经在很多地方看到过,包括对这个网站的推荐( 什么是首选Bash shebang? ),使用#!/usr/bin/env bash优先于#!/bin/bash 。 我甚至看到一个有进取心的人build议使用#!/bin/bash是错误的,而bash的function会因此丢失。 所有这一切,我使用bash在一个严格控制的testing环境中,每个stream通驱动器基本上是一个主驱动器的克隆。 我理解可移植性的论点,虽然它不一定适用于我的情况。 有没有其他的理由更喜欢#!/usr/bin/env bash的替代品,并假设便携性是一个问题,是否有任何理由使用它可能会破坏function?

如何使用awb与shebang(即#!)的多个参数?

我想执行一个gawk脚本–re-interval使用shebang。 “天真”的做法 #!/usr/bin/gawk –re-interval -f … awk script goes here 不起作用,因为gawk被第一个参数"–re-interval -f" (不是分割在空白周围)调用,它不理解。 有没有解决方法? 当然,你可以不直接调用gawk,而是将其封装到一个shell脚本中,以分裂第一个参数,或者创build一个shell脚本,然后调用gawk并将脚本放到另一个文件中,但是我想知道是否有一些方法可以做这在一个文件中。 shebang行的行为在系统之间是不同的 – 至less在Cygwin中它不会用空格分隔参数。 我只是在乎如何在一个像这样的系统上做到这一点; 该脚本并不意味着可移植。

在UNIX shell脚本中,“#!/ bin / sh”是什么意思?

我正在浏览一些shell脚本教程,并find以下示例程序: #!/bin/sh clear echo "HELLO WORLD" 任何人都可以告诉在评论中提及“ !/bin/sh ”的意义吗?

“#!/ usr / bin / env bash”和“#!/ usr / bin / bash”之间的区别?

在bash脚本的头文件中,这两个语句有什么区别? #!/usr/bin/env bash #!/usr/bin/bash 当我试图看到env手册页时,我只是得到这个定义: env – run a program in a modified environment 这是什么意思?

什么是首选Bash shebang?

有没有什么Bash shebang在客观上比其他用途更好? #!/usr/bin/env bash #!/bin/bash #!/bin/sh #!/bin/sh – 等等 我隐约记得很久以前听说,加一个破折号来防止有人把命令传给你的脚本,但是找不到任何细节。

Shebang符号:Windows和Linux上的Python脚本?

我有一些用Python编写的小实用脚本,我想在Windows和Linux上都可以使用。 我想避免显式调用Python解释器。 有没有一种简单的方法来将shebang符号指向Windows和Linux上的正确位置? 如果没有,是否有另一种方法来允许在Windows和Linux上隐式调用Python解释器,而无需在操作系统间进行转换时修改脚本? 编辑:Windows上的shebang支持是Cygwin提供的,但我想在Windows上使用本机Windows Python解释器,而不是Cygwin。 编辑#2:看来,shebang符号覆盖Cygwinterminal中的文件关联。 我想我可以将Cygwin Python和symlink / usr / bin / python卸载到Windows本机Python。