Questions tagged «shell»

术语“外壳”是指通常与Unix和Linux操作系统相关联的一类基于文本的交互式命令解释器。对于有关shell脚本的问题,请使用更具体的标签,例如'bash','powershell'或'ksh'。没有特定标签的情况下,应该假定使用便携式(符合POSIX的)解决方案,尽管最好另外使用“ posix”或“ sh”。

9
Unix命令行上的简洁便携式“连接”
如何将多行合并为一行,并在换行符所在的位置使用分隔符,并避免尾随分隔符,并且可以选择忽略空行? 例。考虑一个foo.txt带有三行的文本文件: foo bar baz 所需的输出是: foo,bar,baz 我现在使用的命令: tr '\n' ',' <foo.txt |sed 's/,$//g' 理想情况是这样的: cat foo.txt |join , 什么是: 最便携,简洁,易读的方式。 使用非标准unix工具的最简洁方法。 我当然可以写点东西,或者只使用别名。但是我很想知道这些选项。
77 shell  unix 

13
如何在Makefile中获取脚本?
是否有更好的方法从makefile中获取设置环境变量的脚本? FLAG ?= 0 ifeq ($(FLAG),0) export FLAG=1 /bin/myshell -c '<source scripts here> ; $(MAKE) $@' else ...targets... endif
77 shell  makefile 



9
如何从父进程获取子进程
是否可以从Shell脚本中的父进程ID获取子进程ID? 我有一个要使用Shell脚本执行的文件,这会导致一个新进程process1(父进程)。这个过程1已经分叉的另一个进程过程2(子进程)。使用脚本,我可以使用以下命令获取process1的pid : cat /path/of/file/to/be/executed 但我无法获取子进程的pid。

11
尝试从bash错误的字符串中检索前5个字符?
我正在尝试从字符串中检索前5个字符,但是Bad substitution在字符串操作行中不断出现错误,我的teststring.sh脚本中包含以下几行: TESTSTRINGONE="MOTEST" NEWTESTSTRING=${TESTSTRINGONE:0:5} echo ${NEWTESTSTRING} 我已经遍历了很多次语法,看不到我做错了什么 谢谢
77 bash  shell 

2
使用npm运行bash脚本
我想尝试使用npm为Web应用程序运行各种构建任务。我知道我可以这样添加一个scripts字段来做到这package.json一点: "scripts": { "build": "some build command" }, 当您使用带有许多选项的更复杂的命令时,这变得笨拙。是否有可能将这些命令移至bash脚本或类似的东西?就像是: "scripts": { "build": "build.sh" }, 在文件npm run build中的哪里执行命令build.sh? 通读这篇文章似乎是这样,但是我不清楚我应该在哪里放置build.sh文件或者丢失了什么。
77 node.js  bash  shell  npm 

6
递归地区分目录,忽略所有二进制文件
在Fedora Constantine盒子上工作。我正在diff递归地查找两个目录以检查源更改。由于项目的设置(在我自己参与上述项目之前!sigh),目录包含源代码和二进制文件以及大型二进制数据集。虽然差异最终适用于这些目录,但如果我可以忽略二进制文件,则可能需要二十秒钟。 据我了解,DIFF没有一个“忽略二进制文件”模式,但确实有一个忽略的参数,它会忽略正则表达式中的文件。无论扩展名如何,我都不知道该写些什么来忽略二进制文件。 我正在使用以下命令,但它不会忽略二进制文件。有谁知道如何修改此命令来做到这一点? diff -rq dir1 dir2
76 bash  shell  diff  binaryfiles 

6
如何在exec参数中的管道中使用find命令?
我正在尝试构造一个find命令,以使用两个不同的可执行文件来处理目录中的一堆文件。不幸的是,-execfind不允许使用管道,甚至\|因为外壳程序首先解释了该字符。 具体来说,这是我要尝试执行的操作(此操作不起作用,因为管道结束了find命令): find /path/to/jpgs -type f -exec jhead -v {} | grep 123 \; -print
76 bash  shell  find 

10
在OSX上安装和运行MongoDB
如果有人可以在这里提供一些见解,我将不胜感激。 我是MongoDB的新手,(相对)命令行的新手。 我在本地的MongoDB上成功运行了express / node.js应用程序,但是在重新启动计算机后,我尝试重新启动Mongo服务器,该服务器开始出现错误,无法启动。从那时起,我几次重新安装Mongo只是为了发现发生相同的错误。这是我收到的: privee:mongodb-osx-x86_64-2.4.6 jonlinton$ ./bin/mongo MongoDB shell version: 2.4.6 connecting to: test Mon Aug 26 14:48:47.168 Error: couldn't connect to server 127.0.0.1:27017 at src/mongo/shell/mongo.js:145 exception: connect failed 我错过了一步吗?我应该创建一个配置文件吗?一些基本的指导将非常有帮助。预先感谢您的任何见解。




3
在shell脚本中缩进多行输出
我正在尝试在Ubuntu Amazon EC2框上更改当天消息(MOTD),以便在我输入SSH时它将显示我的目录之一的git状态。 所有默认MOTD文件的输出在每一行的开头都有两个空格,因此看起来很缩进,但是由于我的git status输出跨越了几行,因此如果我echo -n " "之前这样做,它只会缩进第一行。 知道如何缩进每一行吗?
76 linux  bash  shell 

14
在unix shell中生成一个随机文件名
我想在unix shell中生成一个随机文件名(例如tcshell)。文件名应包含随机的32个十六进制字母,例如: c7fdfc8f409c548a10a0a89a791417c5 (我将在其中添加必要的内容)。关键是只能在外壳中执行此操作,而无需诉诸程序。
76 unix  shell  random  tcsh 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.