相关疑难解决方法(0)

shell脚本是否对编码和行结尾敏感?

我正在Mac上制作NW.js应用程序,并希望通过双击图标以开发模式运行应用程序.第一步,我正在尝试使我的shell脚本工作.

在Windows上使用VSCode(我想获得时间),我run-nw在项目的根目录创建了一个文件,其中包含:

#!/bin/bash

cd "src"
npm install

cd ..
./tools/nwjs-sdk-v0.17.3-osx-x64/nwjs.app/Contents/MacOS/nwjs "src" &
Run Code Online (Sandbox Code Playgroud)

但我得到这个输出:

$ 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
Run Code Online (Sandbox Code Playgroud)

我真的不明白:

  • 似乎它需要空行作为命令.在我的编辑器(VSCode)我试图替换\r\n\n(以防\r造成了问题),但它改变不了什么.
  • 它似乎找不到文件夹(有或没有dirname指令),或者它可能不知道cd …

bash shell sh

37
推荐指数
4
解决办法
1万
查看次数

为什么9之后的bash命令行参数需要大括号?

这可能不是最令人深思的问题,但却引起了我的好奇心.我无法在网上找到任何答案(更不用说确定的答案)了.

在阅读Advanced Shell Scripting时,我遇到了有关命令行位置参数的这一部分,参数声明第九个参数之后的任何内容都必须被$ {}(变量引用/替换的较长形式)包围.

简单地说,为什么必须引用命令行参数十(和更远)${10}, ${11}...而不是$10, $11, ...

bash shell command-line arguments

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

标签 统计

bash ×2

shell ×2

arguments ×1

command-line ×1

sh ×1