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

elementui 做的网站行业关键词一览表

elementui 做的网站,行业关键词一览表,买个域名自己做网站,ubuntu做网站服务器问题 我正在 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命令用法实例
http://www.hrbkazy.com/news/8417.html

相关文章:

  • 网站后台内容编辑器怎么做外链
  • 佛山专业网站建设哪家好杭州seo排名费用
  • 卖高仿名牌手表网站网页设计主题参考
  • 网站开发的基本流程品牌宣传策略有哪些
  • 做网站必须要买服务器吗seo什么意思
  • dw做网站的搜索栏怎么做活动软文怎么写
  • 国外做的好的医疗网站重庆seo论坛
  • 百度谷歌seo优化seo排名怎么做
  • 服务器迁移对做网站的影响深圳疫情最新消息
  • 品牌建设全面升级百度seo推广价格
  • 免费独立域名申请北京百度seo关键词优化
  • 建站公司 万维科技网站友情链接出售
  • 衡阳公司做网站腾讯广告平台
  • 咸宁网站建设seo公司推荐
  • 北京十佳网站建设公司网站如何制作设计
  • 有哪些做实验的参考网站网络营销未来有哪些发展趋势
  • 100m做电影网站国家市场监管总局官网
  • wordpress quick chat百度seo优化排名客服电话
  • wordpress中settingseo搜索引擎优化人才
  • 怎么做网页才能置顶seo软文是什么
  • 公益免费空间主机爱站网seo查询
  • 温州专业营销网站好用的搜索引擎有哪些
  • 晨光文具店网站建设今天刚刚发生的重大新闻
  • 软件开发需要用什么软件广告优化师工作内容
  • 陕西住房和城乡建设厅网站电话淘宝推广软件
  • 做网站公司淘大象关键词排名查询
  • 国外产品设计网站优秀企业网站欣赏
  • 企业简介模板文字北京公司排名seo
  • 在eclipse中做网站开发站长网站查询
  • 网站建设 在线购买发布广告的平台免费