小编tri*_*eee的帖子

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万
查看次数

我需要我的Debian规则文件来简单地将文件复制到它的目标

我有一个大项目,我们有以下文件:

  • 一些第三方预编译的二进制文件
  • 我们自己的内部二进制文件
  • Ruby脚本的集合
  • 一个相当大的Ruby on Rails项目

该产品将安装在我的雇主已选择的设备硬件上,使用Ubuntu Linux(Lucid)作为目标操作系统,我们的目标是将存档作为Debian软件包分发,以简化安装和升级.此外,我们还有许多ERB模板,我们需要根据每个客户"填写"适当的值,因此使用postinst脚本对我们的目的特别方便.

作为旁注,Debian软件包将存储在我们内部管理的服务器存储库中.

在这个阶段,我使用dh_make来创建debian目录和相关文件(例如,规则,控制等),但生成的规则文件对我来说似乎有点过分.

基于此描述,我真正需要的"规则"文件只是将文件从源目录(或存档内)复制到下面显示的目标目录:

  • /选择/有限公司_产品/ 3rd_party_binaries /箱
  • /选择/有限公司_产品/ 3rd_party_binaries的/ etc
  • /选择/有限公司_产品/ in_hourse_binaries /箱
  • /选择/有限公司_产品/ in_hourse_binaries的/ etc
  • /选择/有限公司_产品/红宝石
  • /选择/有限公司_产品/ rails_project
  • /选择/有限公司_产品的/ etc
  • 的/ opt /有限公司_产品/共享/日志
  • 的/ opt /有限公司_产品/共享/ TMP
  • 的/ opt /有限公司_产品/共享/许可
  • ...等等.

我已经阅读了Debian Policy Manual和几个How-To,它们表明你不应该改变规则文件来使用mkdir来创建目录,而且通常有一个dh_ app(例如,dh_installdirs,et.al.)可以适合你的几乎所有安装目的都需要.这些dh_相关应用程序的手册页充其量只是粗略的,我是一个"榜样"的人.

也就是说,我最好的办法是让我的规则文件将我的各种预编译的二进制文件和Ruby/Rails文本文件安装到所需的位置.

这是我的初始规则文件.它几乎是dh_make创建的标准样板规则文件.我的想法是我应该注释掉除安装之外的所有部分,然后在该部分中找到适当的命令来制作目录,复制文件等.

非常感谢任何建议或意见.

#!/usr/bin/make -f

package = testapp

CC = gcc
CFLAGS = -g -Wall …

debian rules package deb

33
推荐指数
1
解决办法
3万
查看次数

将stdout作为命令行util的文件名传递?

我正在使用命令行实用程序,该实用程序需要传递文件名以将输出写入,例如

foo -o output.txt
Run Code Online (Sandbox Code Playgroud)

它写的唯一内容stdout是一条消息,表明它成功运行.我希望能够将写入的所有内容传递output.txt给另一个命令行实用程序.我的动机是output.txt的最终会被一个40 GB的文件,我不需要保留的,我宁愿管不是以逐步的方式对大量文件的工作流.

在这种情况下,有没有办法将实际输出(即output.txt)传递给另一个命令?我可以以某种方式神奇地传递stdout文件参数吗?

linux bash file-io stdout pipe

32
推荐指数
4
解决办法
3万
查看次数

DynamoDB:提供的关键元素与架构不匹配

有没有办法根据不是哈希键的字段获取项目?

我的表用户: id (HashKey), name, email

我想检索发送电子邮件为'test@mail.com'的用户

怎么做到这一点?

我用boto尝试这个:

user = users.get_item(email='john.doe@gmail.com')
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

'The provided key element does not match the schema'
Run Code Online (Sandbox Code Playgroud)

python boto amazon-web-services amazon-dynamodb

31
推荐指数
4
解决办法
6万
查看次数

存储库中已存在锁定文件,该文件阻止此操作完成

我正在开发一个 ASP.NET Core 项目。我正在尝试push使用 GitHub Desktop 提交到我的分支。但每次我尝试提交时,我都会收到此错误:

存储库中已存在锁定文件,该文件阻止此操作完成。

在互联网上搜索后,我找到的唯一解决方案是手动删除文件夹index.lock内的文件.git

但是当我删除这个文件时,每次我尝试提交时它都会重新出现,使我无法提交。我已经尝试从 Visual Studio 提交,但也失败了。

谁能帮我?

git git-commit github-desktop

30
推荐指数
2
解决办法
7万
查看次数

当我尝试在Mac OS X上运行Android Emulator时,我收到"Command Not Found"

当我使用Mac OS X终端导航到我的Android模拟器并输入文件夹时emulator,我得到:

没有找到指令

这是发生的事情:

$ emulator
-bash: emulator: command not found
Run Code Online (Sandbox Code Playgroud)

我如何让它工作?

macos shell android emulation

29
推荐指数
5
解决办法
2万
查看次数

如何在unix中显示文件第n行的所有行

我想显示从第n行开始的所有行.比如说,打印文件的第三行和所有以下行直到文件结束.那是否有命令?

unix linux bash sh

29
推荐指数
5
解决办法
4万
查看次数

什么是git hawser?

我最近发现我的.gitconfig附加了几行:

[filter "hawser"]
    clean = git hawser clean %f
    smudge = git hawser smudge %f
    required = true
Run Code Online (Sandbox Code Playgroud)

由于它是版本控制的,我相信我没有添加它们.看来我不是 唯一有这些线路之一.

但是:git: 'hawser' is not a git command.git help不提供任何其他信息.

那么,这个"大索"过滤器是什么?

git git-config

29
推荐指数
2
解决办法
3773
查看次数

管道和重定向

管道和重定向之间的确切区别是什么?

我们应该在哪里使用管道?我们应该在哪里使用重定向?

他们内部如何工作?

bash shell redirect pipe

26
推荐指数
3
解决办法
1万
查看次数

用argparse打印命令行参数?

argparse用来解析命令行参数.

为了帮助调试,我想print在调用Python脚本的参数中添加一行.有没有一种简单的方法可以做到这一点argparse

python python-2.7 argparse

26
推荐指数
3
解决办法
2万
查看次数