Questions tagged «shell»

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

7
如何将命令的输出分配给Makefile变量
仅当安装的Python大于某个版本(例如2.5)时,我才需要有条件地执行一些make规则。 我以为可以执行以下操作: python -c 'import sys; print int(sys.version_info >= (2,5))' 然后在ifeqmake语句中使用输出(如果可以,则为“ 1”,否则为“ 0”)。 在一个简单的bash shell脚本中,它只是: MY_VAR=`python -c 'import sys; print int(sys.version_info >= (2,5))'` 但这在Makefile中不起作用。 有什么建议?我可以使用任何其他明智的解决方法来实现此目的。
224 shell  makefile 

18
您如何在Bash中回显4位Unicode字符?
我想将Unicode骷髅和交叉骨添加到我的shell提示符中(特别是“ SKULL AND CROSSBONES”(U + 2620)),但我无法弄清楚使回声吐出的魔咒,或其他任何东西, 4位Unicode字符。两位数字很容易。例如,echo -e“ \ x55”,。 除了以下答案外,还应注意,很明显,您的终端需要支持Unicode才能使输出符合您的期望。gnome-terminal在这方面做得很好,但是默认情况下不一定打开它。 在macOS的终端应用程序上,转到“首选项”->“编码”,然后选择Unicode(UTF-8)。



7
如何列出外壳程序中定义的功能?
我可以键入别名以显示所有别名的列表。 但是对于功能,我所能做的就是grep my .bash_profile。 这样只会得到该文件中的文件,而不是在子文件中定义的文件或动态获得的文件。 有没有更方便的方法来找出当前定义的功能?
221 bash  shell  function  unix 

8
在Bash中减去两个变量
我有下面的脚本来减去两个目录之间文件的数量,但是COUNT=表达式不起作用。正确的语法是什么? #!/usr/bin/env bash FIRSTV=`ls -1 | wc -l` cd .. SECONDV=`ls -1 | wc -l` COUNT=expr $FIRSTV-$SECONDV ## -> gives 'command not found' error echo $COUNT
220 bash  shell  unix 

19
如何在Shell脚本中解析符号链接
给定绝对路径或相对路径(在类Unix系统中),我想在解决所有中间符号链接后确定目标的完整路径。同时解决〜username表示法的奖励点。 如果目标是目录,则可以将chdir()进入目录,然后调用getcwd(),但我真的很想从shell脚本中执行此操作,而不是编写C帮助程序。不幸的是,shell倾向于尝试向用户隐藏符号链接的存在(在OS X上是bash): $ ls -ld foo bar drwxr-xr-x 2 greg greg 68 Aug 11 22:36 bar lrwxr-xr-x 1 greg greg 3 Aug 11 22:36 foo -> bar $ cd foo $ pwd /Users/greg/tmp/foo $ 我想要的是一个resolve()函数,以便在上述示例中的tmp目录中执行时,resolve(“ foo”)==“ / Users / greg / tmp / bar”。
220 bash  shell  scripting  symlink 

20
仅列出UNIX中的目录
我只想列出指定路径中的目录(ls没有这样的选项)。另外,可以通过单行命令完成此操作吗?
219 unix  shell 

10
如何在sh中使用'find'的'-prune'选项?
我不太了解中提供的示例man find,有人可以给我一些示例和解释吗?我可以在其中结合正则表达式吗? 更详细的问题是这样的: 编写一个shell脚本,changeall该脚本的接口类似于changeall [-r|-R] "string1" "string2"。它会找到的所有文件的后缀.h,.C,.cc,或.cpp和更改所有出现string1到string2。-r是仅保留当前目录或包含子目录的选项。 注意: 对于非递归情况,ls不允许使用,我们只能使用find和sed。 我尝试过,find -depth但不支持。这就是为什么我想知道是否-prune可以提供帮助,但不了解的示例的原因man find。 EDIT2:我正在做作业,我没有详细询问问题,因为我想自己完成。既然我已经完成并提交了,现在我可以陈述整个问题。另外,我设法不使用来完成任务-prune,但无论如何都想学习。
219 regex  shell  find  manual 

5
如何对目录中的所有文件执行grep操作
使用xenserver,我想对目录中的每个文件执行一条命令,从命令输出中提取一些内容并将其附加到文件中。 我很清楚我要使用的命令以及如何根据需要grep输出字符串。 但是我不清楚的是如何在每个文件上执行此命令,然后转到下一个,直到找不到更多文件。
218 linux  shell  grep 

8
在Unix Shell脚本中以可读JSON格式显示curl输出
在我的Unix Shell脚本中,当我执行curl命令时,结果将显示如下,我将其重定向到文件: {"type":"Show","id":"123","title":"name","description":"Funny","channelTitle":"ifood.tv","lastUpdateTimestamp":"2014-04-20T20:34:59","numOfVideos":"15"} 但是,我希望此输出以可读的JSON格式放入文件中,如下所示: {"type":"Show", "id":"123", "title":"name", "description":"Funny", "channelTitle":"ifood.tv", "lastUpdateTimestamp":"2014-04-20T20:34:59", "numOfVideos":"15"} 如何以这种方式格式化输出?
215 json  shell  curl 

16
测试批处理文件中参数是否为空的正确方法是什么?
我需要测试是否设置了变量。我已经尝试了几种技术,但他们忽视了,只要%1用双引号包围时,如情况%1是"c:\some path with spaces"。 IF NOT %1 GOTO MyLabel // This is invalid syntax IF "%1" == "" GOTO MyLabel // Works unless %1 has double quotes which fatally kills bat execution IF %1 == GOTO MyLabel // Gives an unexpected GOTO error. 根据本站点的介绍,这些是受支持的IF语法类型。因此,我没有找到一种方法。 IF [NOT] ERRORLEVEL number command IF …
213 windows  shell  batch-file  cmd 

4
根据文件的第二列对数据进行排序
我有两列和n行数的文件。 第1列包含names和column2 age。 我想基于age(在第二列中)以升序对文件的内容进行排序。 结果应显示name最年轻的人name,然后显示第二个最年轻的人,依此类推... 关于一个线性shell或bash脚本的任何建议。
212 bash  shell  unix 

10
从Bash函数返回布尔值
我想编写一个bash函数,检查文件是否具有某些属性并返回true或false。然后,我可以在脚本中的“ if”中使用它。但是我应该返回什么? function myfun(){ ... return 0; else return 1; fi;} 然后我像这样使用它: if myfun filename.txt; then ... 当然这是行不通的。如何做到这一点?
211 bash  shell  boolean 


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.