草庐IT

BASH_HISTORY

全部标签

bash - 如何检测 Node.js 脚本是否通过 shell 管道运行?

我的问题与此类似:Howtodetectifmyshellscriptisrunningthroughapipe?.不同之处在于我正在处理的shell脚本是用Node.js编写的。假设我进入:echo"foobar"|./test.js那如何在test.js中获取"foobar"的值?我已阅读UnixandNode:PipesandStreams但这似乎只提供了一个异步解决方案(除非我弄错了)。我正在寻找一个同步的解决方案。此外,使用这种技术,检测脚本是否正在通过管道传输似乎不是很简单。TL;DR我的问题有两个:如何检测Node.js脚本是否通过shell管道运行,例如echo"foo

node.js - 使用 npm 运行 bash 脚本

我想尝试使用npm为Web应用程序运行各种构建任务。我知道我可以通过向我的package.json添加一个scripts字段来做到这一点,如下所示:"scripts":{"build":"somebuildcommand"},当您有更复杂的命令和一堆选项时,这会变得笨拙。是否可以将这些命令移动到bash脚本或类似的东西?比如:"scripts":{"build":"build.sh"},npmrunbuild会在哪里执行build.sh文件中的命令?通读this发布它似乎是,但我不清楚我应该在哪里删除我的build.sh文件,或者我是否遗漏了什么。 最佳答案

node.js - 使用 npm 运行 bash 脚本

我想尝试使用npm为Web应用程序运行各种构建任务。我知道我可以通过向我的package.json添加一个scripts字段来做到这一点,如下所示:"scripts":{"build":"somebuildcommand"},当您有更复杂的命令和一堆选项时,这会变得笨拙。是否可以将这些命令移动到bash脚本或类似的东西?比如:"scripts":{"build":"build.sh"},npmrunbuild会在哪里执行build.sh文件中的命令?通读this发布它似乎是,但我不清楚我应该在哪里删除我的build.sh文件,或者我是否遗漏了什么。 最佳答案

bash - Docker 断开所有容器与 docker 网络的连接

我有docker网络“my_network”。我想用dockernetworkrmmy_network删除这个docker网络。在此之前,我应该断开所有容器与该网络的连接。我可以使用dockernetworkinspect并获得类似的输出[{"Name":"my_network","Id":"aaaaaa","Scope":"some_value","Driver":"another_value","EnableIPv6":bool_value,"IPAM":{"Driver":"default","Options":{},"Config":[{"Subnet":"10.0.0.0/1

bash - Docker 断开所有容器与 docker 网络的连接

我有docker网络“my_network”。我想用dockernetworkrmmy_network删除这个docker网络。在此之前,我应该断开所有容器与该网络的连接。我可以使用dockernetworkinspect并获得类似的输出[{"Name":"my_network","Id":"aaaaaa","Scope":"some_value","Driver":"another_value","EnableIPv6":bool_value,"IPAM":{"Driver":"default","Options":{},"Config":[{"Subnet":"10.0.0.0/1

bash - 在 docker 容器中执行 for 循环

我使用docker容器来执行curldockerrun--rm--network=mynetworktutum/curlforiin`seq110`;docurl-shttp://Url;done但输出是-bash:syntaxerrornearunexpectedtokendo'`。如何以正确的方式执行此操作。我想在不进入容器或检查其日志的情况下查看输出。例如这有效:dockerrun--rm-d-it--network=mynetworktutum/curl/bin/shdockerexec-it4e8cb1e8c9fbbashroot@4e8cb1e8c9fb:/#foriin`

bash - 在 docker 容器中执行 for 循环

我使用docker容器来执行curldockerrun--rm--network=mynetworktutum/curlforiin`seq110`;docurl-shttp://Url;done但输出是-bash:syntaxerrornearunexpectedtokendo'`。如何以正确的方式执行此操作。我想在不进入容器或检查其日志的情况下查看输出。例如这有效:dockerrun--rm-d-it--network=mynetworktutum/curl/bin/shdockerexec-it4e8cb1e8c9fbbashroot@4e8cb1e8c9fb:/#foriin`

bash - 如何在长 docker RUN 命令中添加注释?

我知道习惯上在docker文件中运行RUN命令以减少步骤/空间。但是,随着这些内容变得很长,我还想添加更多注释以使命令清晰。FROMubuntu:18.04ENVDEBIAN_FRONTEND=noninteractiveRUNapt-getupdate\#IWANTACOMMENTonwhatthisstepisdoing&&apt-getinstall-ysoftware-properties-common#commentsalsodon'tworkhere,beforetheslash\允许在单个步骤旁边添加注释的docker/bash语法或docker约定是什么?如果我把评论放

bash - 如何在长 docker RUN 命令中添加注释?

我知道习惯上在docker文件中运行RUN命令以减少步骤/空间。但是,随着这些内容变得很长,我还想添加更多注释以使命令清晰。FROMubuntu:18.04ENVDEBIAN_FRONTEND=noninteractiveRUNapt-getupdate\#IWANTACOMMENTonwhatthisstepisdoing&&apt-getinstall-ysoftware-properties-common#commentsalsodon'tworkhere,beforetheslash\允许在单个步骤旁边添加注释的docker/bash语法或docker约定是什么?如果我把评论放

bash - 为什么 docker exec 在退出时杀死 nohup 进程?

我运行dockerubuntu容器,里面只有一个bash脚本。我想使用dockerexec在该容器中启动我的应用程序:dockerexec-it0b3fc9dd35f2./main.sh在主脚本中,我想用nohup运行另一个应用程序,因为这是一个长时间运行的应用程序:#!/bin/bashnohup./java.sh&#withthisstrangesleepthescriptisworking#sleep1echo`date`finishmain>>/status.logjava.sh脚本如下(为简单起见,它是一个虚拟脚本):#!/bin/bashsleep10echo`date`f