过去一直有一个疑问,为什么我在命令行运行 npm start,可以正常启动 webpack,而直接使用 craco start 不行?...后半句很好理解,直接使用 craco start 会从系统的环境变量 $PATH 中查找 craco,因为之前没有配置过所以找不到。但是, npm 为什么能执行呢?...直到看到同事的一句服务端编译 less 的代码 node node_modules/.bin/lessc x.less x.css 略微有了些概念,npm 应该是去去 node_modules 中的 ....刚好看到一篇写的不咋对的热点博客,所以也来整理一下。 less 或 craco 这样的 npm 包自己的 package.json 中包含一句 "bin" : { "craco" : "....中 ] 之后再运行 npm start (craco start) 时,npm 会直接执行 node node_modules/.bin/craco start
下面我们分四个步骤来详细总结一下 npm 的命令行存放位置 npm 命令添加过程 npm 命令执行过程 项目本地安装是否必要 npm 命令行包存放位置 npm 中所有可供调用的命令行包 存放在 项目根目录的...而 window 下 npm run 调用的也是这个 cmd 文件 npm 命令添加过程 npm 在 执行 install 时,会分析每个依赖包的 package.json 中的 bin 字段,并将包含的命令安装到...好的查看 bin 目录,发现 我们的 apple 添加到 node_modules/bin 下面了! npm 命令执行过程 npm run 命令执行的时候,会把 ..../node_modules/.bin/ 目录添加到执行环境的 PATH 变量中 如果有些命令没有全局安装,只安装在了 当前项目的 node_modules 中 那么使用 npm run 一样可以调用命令...那么,我们就能确定啦,npm run 运行命令的时候,会把 bin 目录下的命令行包 添加到 执行环境变量中,而不用 全局安装 项目本地安装是否必要 有些工具,全局安装的同时,也必须本地项目安装 因为
在python脚本中执行shell命令的方法 最近在写python的一些脚本,之前使用python都是在django中使用,可能大部分内容都是偏向于后端开发方面的,最近在写一些脚本的时候,发现了...使用Python处理一个shell命令或者一个执行一个shell脚本,一般情况下,有下面三种方法,下面我们来看: 第一种方法是使用os.system的方法 os.system("cmd") 我们在当前目录下面创建一个...aaa.sql中的内容,然后下面出现的数字0代表上述命令执行成功;如果我们打印bbb.sql则返回值是256,表示执行中出现了问题。...shell命令pwd的时候,commands.getstatusputput返回值是0,也就是执行成功,返回结果是当前的目录;当执行pwddddd的时候,由于不是系统命令,所以返回结果是command...,可以得到一个脚本或者一个命令的返回值和执行结果,当然,我们也可以使用下面的方法来分别校验aaa.sql文件是否存在,以及查看aaa.sql的执行结果: 1[root@ /data]$python 2Python
shell脚本介绍 ? shell脚本结构和执行 ? ? ? ? 开头需要加#!/bin/bash 因为有了#!...脚本的名字以.sh结尾,用于区分这是一个shell脚本 执行方法有两种 chmod +x 1.sh; ./1.sh bash 1.sh 查看脚本执行过程 bash -x 1.sh ?...查看脚本是否语法错误 bash -n 1.sh ? date命令用法 ? date命令是显示系统的当前的日期和时间,date在shll当中作用很大 ?...时间的标记 ? 组合一起等同于大T ? date +%w周几+大W是今年的第几周 ? 表示日历的命令cal ? date -d “-1 day” 一天前 ?...shell脚本中的变量 ?
Shell Script,Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。...Shell脚本最重要的一点是可以批量去执行Linux中的命令,这样的话就可以实现自动化运维。例如有一个需求,是要让你在凌晨3点的时候进行数据的备份,并且把大于50M的备份文件进行压缩。...Shell脚本的文件名称是以.sh为后缀,用于区分这是一个shell脚本,shell中的注释符是井号“#”,和其他编程语言一样,注释的那一行内容不会被解释器执行,但是要注意区别“#!”...查看脚本执行过程 bash -x Hello.sh: ? 每一个“+”代表执行的命令,后面跟着命令的执行结果。 查看脚本是否语法错误 bash -n Hello.sh: ? ...date命令在shell脚本中作用很大,例如我在备份某个文件或者记录某些日志信息的时候,就可以使用这个命令给这些备份文件或日志信息标记一个时间。
图片除了EVAL和EVALSHA命令之外,Redis还提供了以下命令用于执行Lua脚本:SCRIPT LOAD: 将Lua脚本加载到Redis服务器,并返回一个SHA1摘要(脚本的唯一标识符)。...用于将脚本预先加载到服务器,减少后续执行脚本时的网络传输时间。SCRIPT EXISTS: 检查指定的SHA1摘要是否存在于服务器中。可以用于检查脚本是否已加载到服务器。...SCRIPT FLUSH: 删除所有已加载的Lua脚本。可以用于清空服务器上的所有脚本。SCRIPT KILL: 终止正在执行的Lua脚本。可以用于取消长时间运行的脚本。...在调试模式下,Redis将输出有关脚本执行过程的调试信息。这些命令以及EVAL和EVALSHA命令一起,可以方便地进行Lua脚本的加载、执行和管理。...通过执行Lua脚本,可以实现更复杂和灵活的Redis操作。
略,若需要请移步我的另一篇博客《Jenkins自动化部署.NetCore项目到Windows的IIS上》 下载nodejs插件 在jenkins的插件管理中搜索nodejs并下载 重启jenkins...H H 15 * * #工作日,上午9点整执行 H 9 * * 1-5 #每周1,3,5,从8:30开始,截止19:30,每4小时30分构建一次 H/30 8-20/4 * * 1,3,5 构建环境...net start rsun.web 效果图 一键部署 如果想要手动立刻执行自动化部署,则看这里 本文已经加入轮询会定时检测变化已部署 点击Build Now over!!!...FAQ:构建失败 部署失败,npm install报错 报错截图 解决方案是: 将本地的包直接复制过来替换掉, 然后命令脚本中跳过npm install 直接npm run build 参考网址: jenkins...://www.cnblogs.com/caoj/p/7815820.html Windows+.NetCore+git+IIS在Jenkins上的自动化部署入门:https://zhuanlan.zhihu.com
我们经常需要在集群中使用jps命令查看进程状态,而又懒得去每一台机器上分别执行jps命令,这时候就需要一个脚本文件来帮我们做这样的事情! 编写一个名为xcall的脚本文件吧! #!.../bin/bash #在集群的所有机器上批量执行同一条命令 if(($#==0)) then echo 请输入您要操作的命令!...exit fi echo 要执行的命令是$* #循环执行此命令 for((i=101;i<=103;i++)) do echo ---------------------hadoop$i-----...由于输入的命令可能会携带参数,比如 ls -al,所以这里用到取变量的是$*,把输入的命令包括参数都当作整体的变量去执行。...最后别忘了把xcall文件放进家目录下的bin目录,如果没有就新建一个bin目录,因为这目录是在全局环境变量中,放进去后无论在哪个目录下都可以执行这个脚本文件
Shell脚本介绍 shell是一种脚本语言 aming_linux blog.lishiming.net 可以使用逻辑判断、循环等语法 可以自定义函数 shell是系统命令的集合 shell脚本可以实现自动化运维...,能大大增加我们的运维效率 Shell脚本结构和执行 开头需要加#!.../bin/bash 以#开头的行作为解释说明 脚本的名字以.sh结尾,用于区分这是一个shell脚本 执行方法有两种 chmod +x 1.sh; ./1.sh ; 这个..../是相对路径,使用完整路径也可以执行 bash 1.sh 查看脚本执行过程 bash/sh -x 1.sh 查看脚本是否语法错误 bash/sh -n 1.sh date命令用法 显示日历 cal...date +%W Shell脚本中的变量 当脚本中使用某个字符串较频繁并且字符串长度很长时就应该使用变量代替 使用条件语句时,常使用变量 if [ $a -gt 1 ]; then … ;
# npm script 原理:每当执行npm run,就会自动新建一个 Shell,在这个 Shell 里面执行指定的脚本命令。...因此,只要是 Shell(一般是 Bash)可以运行的命令,就可以写在 npm 脚本里面。...npm run新建的这个 Shell,会将当前目录的node_modules/.bin子目录加入PATH变量,执行结束后,再将PATH变量恢复原样。...* 表示任意文件名 ** 表示任意层子目录 { "test": "tap test/\*.js", // 将通配符传入原始命令,防止被 Shell 转义,要将星号转义 } # 传参 向 npm...钩子 npm 脚本有pre和post两个钩子, 如 build 脚本命令的钩子就是 prebuild 和 postbuild # 执行 npm run build 相当于 npm run prebuild
在《在windows程序中嵌入Lua脚本引擎--使用VS IDE编译Luajit脚本引擎》开始处,我提到某公司被指责使用“云命令”暗杀一些软件。...在CS体系结构中,如果我们要完成某个业务需求,往往要修改二进制文件,并发布到客户端。这样,我们在客户端的副本将有机会去执行相关逻辑。...该工程将引用1中生成的lib文件。 同时,该工程提供一个下载工程,即模拟从服务端下发数据。...这是为了简易,如果想搞的复杂,可以考虑让服务器下发地址或者直接下发命令。 我在服务端保存的是一个简易的Lua脚本。...该脚本使用了ffi库,即让我们可以像使用C语言一样写Lua脚本,这个也是令人非常激动的一点。
它的每一个属性,对应一段脚本。比如,build命令对应的脚本是node build.js。 命令行下使用npm run命令,就可以执行这段脚本。...每当执行npm run,就会自动新建一个 Shell,在这个 Shell 里面执行指定的脚本命令。因此,只要是 Shell(一般是 Bash)可以运行的命令,就可以写在 npm 脚本里面。...比较特别的是,npm run新建的这个 Shell,会将当前目录的node_modules/.bin子目录加入PATH变量,执行结束后,再将PATH变量恢复原样。..."lint": "jshint *.js" "lint": "jshint **/*.js" 上面代码中,*表示任意文件名,**表示任意一层子目录。...这种行为很容易让用户感到困惑,所以 npm 4 引入了一个新的钩子prepare,行为等同于prepublish,而从 npm 5 开始,prepublish将只在npm publish命令之前运行。
镜像来创建Jenkins镜像,并如何在此基础上,部署netcore项目,现在大家看到的我所有的ASP.NETCore项目,都是通过这种方式来搭建的,每次修改代码,只需要一键构建,即可部署,速度还是很快的...好啦,言归正传,如果想要在Jenkins容器中来部署前端项目,那就肯定离不开build操作来生成dist静态文件,那也就更离不开npm了。...这不,我仿照之前在Jenkins中能使用dotnet的SDK的写法,继续升级了下镜像,把npm也融合进行了。...● ● ● 升级我们的Jenkins管理平台 上边我们有了镜像,如果你感觉可以用,那就直接Pull拉取就行了,命令就在上边,从dockerhub中拉取到服务器宿主机即可,然后根据这个新的镜像,生成一个新的...,应该需要在上边加一个参数,具体我忘了,建议爱学习的可以研究下,我会在下边评论区留言,当然你可以直接直接在管理平台上修改,执行脚本命令: System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone
它的每一个属性,对应一段脚本。比如,build命令对应的脚本是node build.js 。 命令行下使用npm run 命令,就可以执行这段脚本。...$ npm run 2、npm原理 npm脚本的原理非常简单。每当执行 npm run ,就会自动创建一个shell脚本, 在这个shell里面执行指定的脚本命令。.../node_modules/.bin/mocha test" 由于npm脚本的唯一要求就是可以在shell中执行,因此它不一定是Node脚本,任何可执行文件都可以写在里面。...这种行为很容易让用户感到困惑,所以npm 4引入了一个新的钩子prepare, 行为等同于prepublish, 而从npm 5开始,prepublish 将只在npm publish命令之前运行。...在终端当前目录中进行全局安装: npm install -g 安装成功后,则在电脑任意文件夹打开终端,执行package.json中bin中设置的命令,都会执行对应的index.js中的代码。
而我们项目我是先在有网的 Linux 服务器上用 npm install 命令下载的依赖包,然后手动压缩拷贝到 jenkins 服务器的 passjava 目录。...当执行部署的时候,会从 passjava 目录将 node_modules 压缩包拷贝并解压到 jenkins 的当前工作目录。...3.3 编译代码 编译前端代码可以用 npm run build xx 命令,然后将编译后的 dist 目录压缩。...查找超过7天未修改的目录: -mindepth 1:确保查找从指定目录的子目录开始,不包括指定的根目录。 -maxdepth 1:限制查找仅在指定目录的第一层子目录中进行。...本文通过图解+代码的方式讲解了前端自动化部署的步骤,文中的脚本针对前端的三个模块进行打包,比较耗时,所以后续可以优化的地方是支持选择部署前端的不同模块。
npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。...打开Windows PowerShell 之后 输入命令:get-executionpolicy 然后:set-executionpolicy remotesigned 然后更改权限为 A 然后命令
(书山有路勤为径,学海无涯苦作舟) 开源也两年了,没想到自己在宣传.NetCore全栈的时候,也慢慢的做出了几个产品,毕竟也是一行一行的敲出来的,也是一天一夜的改出来的,希望每个人都能在自己学习中培养自己的踏实...这两年也是见证着跨平台和Docker容器化的迅速发展,恰逢这段时间打算找工作(有好的欢迎内推),看到NetCore、Linux、中间件、Docker、微服务的字样已经出现在了很多求职公司的要求里,我的第一批粉丝中也有很多小伙伴找到了自己的...3、守护进程 很简单,还是在当前文件目录下,执行 pm2 start npm --name "tibug" -- run start 是不是和上边的命令很像。...,剩下就是很简单的js前端的部署了。...6、难点与结论 其实通过上边的操作,一般四五个小时肯定能搞定,快的话三个小时就完全能搞定前后端发部署和发布,我几乎没有遇到太多的问题,可能得益于NETCore本身就是跨平台的,虽然以前都是在window
为什么要使用 NPM npm 是随同 Node.js 一起安装的包管理工具,能解决 Node.js 代码部署上的很多问题,常见的场景有以下几种: 允许用户从 npm 服务器下载别人编写的第三方包到本地使用...允许用户从 npm 服务器下载并安装别人编写的命令行程序到本地使用。 允许用户将自己编写的包或命令行程序上传到 npm 服务器供别人使用。...它的一个很重要的作用就是:将开发者从繁琐的包管理工作(版本、依赖等)中解放出来,更加专注于功能的开发。 如何使用 NPM 安装 npm 不需要单独安装。...如果希望两个命令同时平行执行,它们中间可以用 & 连接。 写在 scripts 属性中的命令,也可以在 node_modules/.bin 目录中直接写成 bash 脚本。...npm bin npm bin 命令显示相对于当前目录的,Node 模块的可执行脚本所在的目录(即 .bin 目录)。 # 项目根目录下执行 $ npm bin .
它的每一个属性,对应一段脚本。比如,build命令对应的脚本是node build.js。 原理 执行npm run ,会自动创建一个shell, 在这个shell里面执行指定的脚本命令。...比较特别的是, 这个shell 会自动将当前目录下的node_modules/.bin子目录加入PATH,执行结束, 再将PATH变量恢复原样 通配符 由于 npm 脚本就是 Shell 脚本,因为可以使用..."lint": "jshint *.js" "lint": "jshint **/*.js" 上面代码中,*表示任意文件名,**表示任意一层子目录。..."test": "tap test/\*.js" 传参 将命令行参数发送到npm脚本: npm run [command] [-- ] 注意必要的--,需要将参数传递到npm命令本身,并将其传递给脚本...[2]如何向npm脚本发送命令行参数?