当前位置: 首页 > news >正文

网站更换空间注意/怎样宣传自己的产品

网站更换空间注意,怎样宣传自己的产品,佛山南海大沥镇最新疫情,安徽旅游风景道建设问题 我正在 macOS 上制作一个 NW.js 应用程序,并想通过双击图标在开发模式下运行该应用程序。在第一步中,我试图使我的 shell 脚本正常工作。 在 Windows 上使用 VS Code,我在项目的根目录下创建了一个 run-nw 文件,包含以下内…

问题

我正在 macOS 上制作一个 NW.js 应用程序,并想通过双击图标在开发模式下运行该应用程序。在第一步中,我试图使我的 shell 脚本正常工作。

在 Windows 上使用 VS Code,我在项目的根目录下创建了一个 run-nw 文件,包含以下内容:

#!/bin/bashcd "src"
npm installcd ..
./tools/nwjs-sdk-v0.17.3-osx-x64/nwjs.app/Contents/MacOS/nwjs "src" &

但是我得到了这个输出:

$ sh ./run-nw: command not found  
: No such file or directory  
: command not found  
: No such file or directory  Usage: npm <command>where <command> is one of:  (snip commands list)(snip npm help)npm@3.10.3 /usr/local/lib/node_modules/npm  
: command not found  
: No such file or directory  
: command not found

有些事情我不明白。

  • 它似乎将空行作为命令。在我的编辑器(VS Code)中,我尝试将 \r\n 替换为 \n (以防 \r 产生问题),但它没有改变什么。
  • 它似乎没有找到文件夹(有或没有 dirname 指令),或者可能它不知道 cd 命令?
  • 它似乎不理解 npminstall 参数。
  • 真正让我感到奇怪的是,它仍然运行应用程序(如果我手动执行 npm install)……

由于无法正常工作,并且怀疑文件本身有什么奇怪的地方,我直接在 Mac 上创建了一个新的文件,这次使用了 vim。我输入了完全相同的指令,然后…现在它工作起来没有任何问题。

diff 对比两个文件的差异显示完全没有差异。

有什么区别?是什么导致第一个脚本无法运行?我怎样才能知道?


回答

是的。Bash 脚本对行结束很敏感,无论是在脚本本身还是在它处理的数据中。它们应该有 Unix 风格的行结束符,即每行以换行符结束(ASCII 中的十进制 10,十六进制 0A)。

对于 Windows 或 DOS 风格的行尾,每一行都以回车符和换行符结束。你可以在命令 cat -v yourfile 的输出中看到这个不可见的字符:

$ cat -v yourfile
#!/bin/bash^M
^M
cd "src"^M
npm install^M
^M
cd ..^M
./tools/nwjs-sdk-v0.17.3-osx-x64/nwjs.app/Contents/MacOS/nwjs "src" &^M

在这种情况下,回车(插入符号中的 ^M 或 C 转义符号中的 \r)不会被视为空白。Bash 将 shebang 之后的第一行(由一个回车字符组成)解释为要运行的命令/程序的名称。

  • 因为没有名为 ^M 的命令,所以它输出: command not found
  • 因为没有名为 "src"^M(或 src^M)的目录,所以它输出: no such file or directory
  • 它将 install^M 而不是 install 作为参数传递给 npm,这会导致 npm 报错。

解决方案

解决方案是将文件转换为使用 Unix 风格的行结尾(将回车符删除)。有很多方法可以做到这一点:

  1. 最简单的方法是使用 dos2unix 命令
dos2unix filename
  1. 使用 sed 命令处理
sed -i 's/\r$//g' filename
#or
sed 's/\r$//g' filename > newfile
  1. 使用 vim 处理
#vi filename
:set fileformat=unix 
:w 
  1. 使用 tr 命令删除回车符
cat filename | tr -d '\r' > newfile

参考

  • stackoverflow question 39527571
  • man sed

相关阅读:

  • 在shell程序里如何从文件中获取第n行
  • 用Bash变量进行sed替换
  • 如何用命令行将文本每两行合并为一行?
  • 如何使用bash脚本并行运行多个程序
  • 为什么要使用xargs命令
  • xargs命令用法实例

相关文章:

shell脚本对编码和行尾符敏感吗

问题 我正在 macOS 上制作一个 NW.js 应用程序&#xff0c;并想通过双击图标在开发模式下运行该应用程序。在第一步中&#xff0c;我试图使我的 shell 脚本正常工作。 在 Windows 上使用 VS Code&#xff0c;我在项目的根目录下创建了一个 run-nw 文件&#xff0c;包含以下内…...

神经网络----现有网络的下载和使用(vgg16)

以下两种方法已经用不了 vgg16_false torchvision.models.vgg16(pretrainedFalse) vgg16_true torchvision.models.vgg16(pretrainedTrue) 改为 vgg16_model0 vgg16(weightsNone) #vgg16_false vgg16_model1 vgg16(weightsVGG16_Weights.DEFAULT) # pretrained vgg16_…...

Java 异常处理 - 自定义异常

在Java中&#xff0c;自定义异常是一种创建新异常类的方式&#xff0c;这些异常类继承自Throwable类或其子类Exception&#xff08;或RuntimeException&#xff0c;如果它是运行时异常的话&#xff09;。自定义异常通常用于描述特定于应用程序的错误情况&#xff0c;以便为调用…...

Excel 交叉表的格转成列,行转成格

Excel里交叉表的左表头是卡车号&#xff0c;上表头是工作&#xff0c;交叉格是工作编号。 ABCD1Truck NumberJob1Job2Job3271592859285928372395859282971473297159282971 要求&#xff1a;将交叉格转为列&#xff0c;左表头转为格。 ABC1297139585928272727137371473715726…...

【C++软件调试技术】什么是pdb文件?如何使用pdb文件?哪些工具需要使用pdb文件?

目录 1、什么是pdb文件? 2、如何配置生成pdb文件? 3、pdb文件的时间戳和文件名称 3.1、pdb文件的时间戳 3.2、pdb文件的文件名称 4、有pdb文件才能在Visual Studio中调试代码 5、在Windbg中使用pdb文件 5.1、使用lm命令查看二进制文件的时间戳,去查找对应版本的pdb文…...

如何搭建一台永久运行的个人服务器?

一、前言 由于本人在这段时候&#xff0c;看到了一个叫做树莓派的东东&#xff0c;初步了解之后觉得很有意思&#xff0c;于是想把整个过程记录下来。 二、树莓派是什么&#xff1f; Raspberry Pi(中文名为树莓派,简写为RPi&#xff0c;(或者RasPi / RPI) 是为学习计算机编程…...

Ant Design+react 表单只读

表单禁用&#xff0c;样式不好看&#xff0c;不符合甲方标准&#xff0c;看了一下文档&#xff0c;select、radio等都不支持只读状态。 解决方法&#xff1a; 利用css3的point-events属性&#xff0c;设置为none 在查看弹窗时&#xff0c;传入一个变量&#xff0c;当变量为true…...

推荐系统三十六式学习笔记:原理篇.近邻推荐07|人以群分,你是什么人就看到什么世界

目录 协同过滤基于用户的协同过滤背后的思想原理实践1、构造矩阵2、相似度计算3、推荐计算4、一些改进 应用场景&#xff1a;总结 谈及推荐系统&#xff0c;不得不说大名鼎鼎的协同过滤。协同过滤的重点在于协同&#xff0c;所谓协同&#xff0c;也就是群体互帮互助&#xff0c…...

要改进单例模式的实现以确保线程安全并优化性能,有几种常见的方法

要改进单例模式的实现以确保线程安全并优化性能&#xff0c;有几种常见的方法。以下是几种改进 ThreadUtil 单例实现的方法&#xff1a; ### 1. 懒汉式&#xff08;线程安全版&#xff09; 使用同步机制来确保线程安全&#xff0c;但只在第一次创建实例时同步&#xff0c;这样…...

k8s——Pod容器中的存储方式及PV、PVC

一、Pod容器中的存储方式 需要存储方式前提&#xff1a;容器磁盘上的文件的生命周期是短暂的&#xff0c;这就使得在容器中运行重要应用时会出现一些问题。 首先&#xff0c;当容器崩溃时&#xff0c;kubelet 会重启它&#xff0c;但是容器中的文件将丢失——容器以干净的状态&…...

Java/Golang:活用interface,增加程序扩展性

场景 在paas中间件众多的场景下&#xff0c;做一款用于巡检多个paas组件健康状态的工具。工具的编写需要具备一定的扩展性&#xff0c;便于后续新增某个paas组件巡检的功能。 管理多个paas组件&#xff0c;需要方便扩展新增。 思路 使用面向对象编程思想&#xff0c;首先对…...

SQL语句练习每日5题(四)

题目1——查找GPA最高值 想要知道复旦大学学生gpa最高值是多少&#xff0c;请你取出相应数据 题解&#xff1a; 1、使用MAX select MAX(gpa) FROM user_profile WHERE university 复旦大学 2、使用降序排序组合limit select gpa FROM user_profile WHERE university 复…...

Java排序算法汇总篇,八种排序算法

排序算法汇总: Java排序算法(一)&#xff1a;冒泡排序 Java排序算法(二)&#xff1a;选择排序 Java排序算法(三)&#xff1a;插入排序 Java排序算法(四)&#xff1a;快速排序 Java排序算法(五)&#xff1a;归并排序 Java排序算法(六)&#xff1a;希尔排序 Java排序算法(…...

R语言探索与分析20-北京市气温预测分析

一、序言 近年来&#xff0c;人类大量燃烧煤炭、天然气等含碳燃料导致温室气 体过度排放&#xff0c;大量温室气体强烈吸收地面辐射中的红外线&#xff0c;造 成温室效应不断累积&#xff0c;使得地球温度上升&#xff0c;造成全球气候变暖。气象温度的预测一直以来都是天气预…...

2024年安全现状报告

2024 年安全现状报告有些矛盾。尽管安全专业人员的道路困难重重&#xff0c;比如说严格的合规要求、不断升级的地缘政治紧张局势和更复杂的威胁环境&#xff0c;但整个行业还是在取得进展。 许多组织表示&#xff0c;与前几年相比&#xff0c;网络安全变得更容易管理。组织之间…...

OV通配符ssl证书是什么

通配符https证书的产品比较丰富&#xff0c;为了方便区分&#xff0c;可以按照验证方式将通配符https证书分为DV基础型通配符https证书和OV企业型通配符https证书两种。其中OV通配符https证书申请条件高&#xff0c;审核也比较严格&#xff0c;相比于DV基础型通配符https证书&a…...

Selenium三种等待方式的使用!

UI自动化测试&#xff0c;大多都是通过定位页面元素来模拟实际的生产场景操作。但在编写自动化测试脚本中&#xff0c;经常出现元素定位不到的情况&#xff0c;究其原因&#xff0c;无非两种情况&#xff1a;1、有frame&#xff1b;2、没有设置等待。 因为代码运行速度和浏览器…...

websockets怎么工作的呢?

WebSockets是一种在单个TCP连接上进行全双工通信的协议&#xff0c;使得客户端和服务器之间的数据交换变得更加简单&#xff0c;并允许服务端主动向客户端推送数据。下面是WebSockets的工作原理&#xff1a; 1. **握手阶段**&#xff1a; - 客户端发起一个HTTP请求到服务器&…...

栈 数组和链表实现

stack 栈 LIFO后进先出 应用 实现递归 编辑器的撤回工作&#xff08;按下ctrl z&#xff09; 数组实现 // 列表的插入和删除从一端实现 那么就得到了栈 // array和linked lists//stack-Array based implementation #include<stdio.h> #include<stdlib.h> #def…...

如何备份和恢复华为手机?

智能手机已成为我们日常生活中不可或缺的一部分&#xff0c;它们存储着大量敏感数据。因此&#xff0c;确保数据安全&#xff0c;定期备份至关重要&#xff0c;以防手机意外丢失、损坏或被盗。 如果您拥有华为设备&#xff0c;并且正在寻找如何将华为手机备份到PC的方法&#…...

微波电路S参数测量实验方案

一、实验目的 用矢量分析仪测S参数&#xff0c;验证电磁波&#xff0c;检测电磁波在波导中的传播模式。 二、实验内容 用矢量分析仪测试微波滤波器的二端口S参数&#xff0c; 三、基本 四、实验步骤 1对矢量网络分析仪进行参数设置 2矢量网络分析仪进行校准 单端口校准…...

SpringTask Cron表达式

Cron表达式格式 1.Cron表达式格式 Cron表达式是一个字符串&#xff0c;字符串以5或6个空格隔开&#xff0c;分为6或7个域&#xff0c;每一个域代表一个含义&#xff0c;Cron有如下两种语法格式&#xff1a; 秒 分 时 一个月第几天 月 一个星期第几天 年 &…...

docker与docker-compose安装

1.1 安装工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm21.2 添加docker的yum库 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sudo yum makecache fast1.3 安装Docker sudo yum install docke…...

跨境反向海淘系统:业务流程解析与未来发展展望

随着全球化的深入发展和互联网技术的飞速进步&#xff0c;跨境购物已经成为越来越多消费者日常生活中的一部分。在这个过程中&#xff0c;反向海淘系统以其独特的优势&#xff0c;逐渐崭露头角&#xff0c;成为跨境电商领域的新星。作为一名在跨境反向海淘系统业务中耕耘了10年…...

Python语言字母:深度解析与魅力探索

Python语言字母&#xff1a;深度解析与魅力探索 Python&#xff0c;作为一种广泛使用的编程语言&#xff0c;其字母背后蕴含着丰富的内涵和深厚的魅力。本文将从四个方面、五个方面、六个方面和七个方面&#xff0c;深入剖析Python语言字母所蕴含的秘密和魅力&#xff0c;带您…...

基于JSP技术的社区疫情防控管理信息系统

你好呀&#xff0c;我是计算机学长猫哥&#xff01;如果有相关需求&#xff0c;文末可以找到我的联系方式。 开发语言&#xff1a;JSP 数据库&#xff1a;MySQL 技术&#xff1a;JSPJavaBeans 工具&#xff1a;MyEclipse、Tomcat、Navicat 系统展示 首页 用户注册与登录界…...

区间预测 | Matlab实现QRBiTCN分位数回归双向时间卷积神经网络注意力机制时序区间预测

Matlab实现QRBiTCN分位数回归双向时间卷积神经网络注意力机制时序区间预测 目录 Matlab实现QRBiTCN分位数回归双向时间卷积神经网络注意力机制时序区间预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现QRBiTCN分位数回归双向时间卷积神经网络注意力机制时序…...

Spring MVC中,一个HTTP请求可能会被多个Handler处理

在Spring MVC中&#xff0c;一个HTTP请求可能会被多个Handler处理。这些Handler可能是HandlerInterceptor&#xff0c;ControllerAdvice&#xff0c;或者是具体的Controller。以下是这些Handler的执行顺序&#xff1a; 1. HandlerInterceptor的preHandle方法 当一个HTTP请求到…...

Vue3 时间格式化

1、基础使用 https://juejin.cn/post/6933548549321785352 2、template里面直接使用 $dayjs(info.patientBirthday).format("YYYY-MM-DD") 3、script里面使用 import { ref, reactive, getCurrentInstance } from "vue"; const { proxy } getCurren…...

SVN中trunk,branch,tag

SVN trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤_svn 分支-CSDN博客 场景: 项目的1.0版本已经完成开发,测试,并上线了. 接到了新需求,要修改多个文件的代码. 你写了一段时间的时候,用户或测试人员反馈, 1.0版本有重大bug要修复,修复好后立刻上线. 此时应该怎么…...