相关疑难解决方法(0)

"/ usr/bin/env node"在节点文件的开头究竟做了什么?

#!/usr/bin/env node在一些例子的开头看到了这一行,nodejs我用google搜索没有找到任何可以回答该行原因的话题.

单词的性质使搜索变得不那么容易.

我最近读了一些javascriptnodejs书,我不记得在其中任何一个看过它.

如果你想要一个例子,你可以看到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);
});
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下这条线的含义是什么?

如果我放入或删除此行有什么区别?在什么情况下我需要它?

shebang node.js

85
推荐指数
3
解决办法
4万
查看次数

如何在 ac# powershell 模块中运行启动代码

我在 c# 中创建了一个简单的 PowerShell 模块,它实现了一些 cmdlet,我希望能够在导入模块时运行代码。

从在 google 和命名空间中环顾四周,似乎没有这样做的正确方法。

到目前为止,我提出的解决方法是创建一个 psm1 或 ps1 文件,该文件在加载模块时运行并执行启动操作(宁愿不使用它,因为脚本在某些将运行的环境中被阻止)。

其他选项是我已经能够通过创建一个 CmdletProvider 来做到这一点,但它在使用 new-psdrive 时会在提供程序列表中创建一个垃圾条目。

[CmdletProvider("junkprovider", ProviderCapabilities.None)]
public class Startup : CmdletProvider
{
    Public Startup()
    {
      // Startup code here
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法正确地做到这一点,或者我将不得不使用黑客?

c# powershell cmdlets

1
推荐指数
1
解决办法
210
查看次数

标签 统计

c# ×1

cmdlets ×1

node.js ×1

powershell ×1

shebang ×1