Questions tagged «shell»

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

15
Bash脚本中某个范围的随机数
我需要2000-65000从shell脚本之间生成一个随机端口号。问题是$RANDOM15位数字,所以我卡住了! PORT=$(($RANDOM%63000+2001)) 如果没有大小限制,它将很好地工作。 有没有人举例说明我如何做到这一点,也许是通过从中提取某些东西/dev/urandom并使其处于一定范围内?
195 bash  shell  scripting 

12
如何获得bash补全以使用别名?
例子: 我在Mac上使用bash v3.2.17,正在使用通过具有bash_completion变体的macports安装的git。 当我键入git checkout m<tab>。例如,我完成了master。 但是,我有一个别名git checkout,gco。当我输入时gco m<tab>,我没有自动完成分支名称。 理想情况下,我希望自动补全可以神奇地为我的所有别名工作。可能吗?失败的话,我想为每个别名手动自定义它。那么,我该怎么办?
195 git  bash  shell  unix  autocomplete 

2
如何在Shell管道中使用`jq`?
我似乎无法jq在Shell管道中表现为“正常”。例如: $ curl -s https://api.github.com/users/octocat/repos | jq | cat 结果jq只是打印出其帮助文本*。如果我尝试将jq的输出重定向到文件,则会发生相同的事情: $ curl -s https://api.github.com/users/octocat/repos | jq > /tmp/stuff.json jq如果确定不是从tty运行它,是否故意救助?如何防止这种行为,以便可以jq在管道中使用? * (我意识到此示例包含对cat的无用用法;仅用于说明目的)
194 shell  pipe  jq 

30
如何快速求和文件中的所有数字?
我有一个包含数千个数字的文件,每个数字都在自己的行上: 34 42 11 6 2 99 ... 我正在寻找一个脚本,它将打印文件中所有数字的总和。我有一个解决方案,但是效率不是很高。(运行需要几分钟。)我正在寻找一种更有效的解决方案。有什么建议?
194 linux  perl  bash  shell  awk 


19
使用脚本自动输入SSH密码
我需要创建一个脚本,该脚本会自动向OpenSSH ssh客户端输入密码。 假设我需要myname@somehost使用密码SSH进入a1234b。 我已经尝试过... #~/bin/myssh.sh ssh myname@somehost a1234b ...但这是行不通的。 如何将此功能纳入脚本?
193 linux  shell  ssh  openssh 

6
值得切换到zsh以供临时使用吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 8年前关闭。 改善这个问题 Mac OS X中的默认外壳是bash,我通常很高兴使用它。我只是认为这是理所当然的。不过,如果它能自动完成更多的工作,那将是非常不错的,而且我zsh在这方面也听说过很多好事。但是我并不是很愿意花几个小时来修改设置,以将我的命令行使用量提高一点点,因为我在命令行上的生活还不错。 (据我了解,bash还可以将其配置为更聪明地自动完成。这并不是我一直热衷的配置。) zsh即使在少数情况下,切换到我的生活也会更轻松吗?或者,如果您花时间学习为什么更好,那么它只是更好的外壳吗?(示例也很好:)) @ Rodney Amato 和@ Vulcan Eager 提供了两个理由分别坚持bash和改用zsh。看来我必须对两者进行调查!那好吧:) 是否有人在辩论双方都有意见?
192 bash  shell  zsh 


17
如何从Linux Shell脚本解析YAML文件?
我希望提供一个结构化的配置文件,对于非技术用户而言,该文件应尽可能地容易编辑(不幸的是,该文件必须是文件),因此我想使用YAML。但是,我找不到从Unix Shell脚本解析此内容的任何方法。
192 shell  yaml 

7
将所有变量从一个Shell脚本传递到另一个?
可以说我有一个名为/的shell / bash脚本test.sh: #!/bin/bash TESTVARIABLE=hellohelloheloo ./test2.sh 我的test2.sh样子是这样的: #!/bin/bash echo ${TESTVARIABLE} 这是行不通的。我不想将所有变量都作为参数传递,因为恕我直言,这太过分了。 有其他方法吗?
192 bash  shell 

16
如何从Shell执行XPath单行?
是否有针对Ubuntu和/或CentOS的软件包,其中包含一个命令行工具,该命令行工具可以像foo //element@attribute filename.xml或那样执行XPath单行代码foo //element@attribute < filename.xml并逐行返回结果? 我正在寻找可以使我公正apt-get install foo或yum install foo然后就可以直接使用的东西,不需要包装或其他适应方法。 以下是一些即将发生的事情的示例: 能吉里 如果我编写此包装器,则可以按上述方式调用包装器: #!/usr/bin/ruby require 'nokogiri' Nokogiri::XML(STDIN).xpath(ARGV[0]).each do |row| puts row end XML :: XPath。可以与此包装一起使用: #!/usr/bin/perl use strict; use warnings; use XML::XPath; my $root = XML::XPath->new(ioref => 'STDIN'); for my $node ($root->find($ARGV[0])->get_nodelist) { print($node->getData, "\n"); } xpath来自XML :: XPath的返回的噪声太大,-- …

11
如何从我的应用程序目录中删除所有.svn目录
我的应用程序中具有导出工具的任务之一是清除.svn应用程序目录树中的所有目录。我正在Linux外壳中寻找一个递归命令,它将遍历整个树并删除.svn文件。 我不使用导出,因为此脚本将用于与SVN不相关的其他文件/目录名称。我尝试了类似的东西: find . -name .svn | rm -fr 没用...
191 linux  shell 

4
如何使用Bash递归创建不存在的子目录?
我正在创建一个快速备份脚本,该脚本会将一些数据库转储到一个漂亮的/整洁的目录结构中,我意识到我需要在创建目录之前进行测试,以确保目录存在。我拥有的代码可以运行,但是似乎有更好的方法可以做到这一点。有什么建议? [ -d "$BACKUP_DIR" ] || mkdir "$BACKUP_DIR" [ -d "$BACKUP_DIR/$client" ] || mkdir "$BACKUP_DIR/$client" [ -d "$BACKUP_DIR/$client/$year" ] || mkdir "$BACKUP_DIR/$client/$year" [ -d "$BACKUP_DIR/$client/$year/$month" ] || mkdir "$BACKUP_DIR/$client/$year/$month" [ -d "$BACKUP_DIR/$client/$year/$month/$day" ] || mkdir "$BACKUP_DIR/$client/$year/$month/$day"

23
在python shell中按箭头键时看到转义字符
在交互式python shell之类的shell中,通常可以使用箭头键在当前行中移动或获取先前的命令(使用向上箭头)等。 但是,当我将SSH切换到另一台机器并从python那里启动时,我得到如下会话: >>> import os >>> ^[[A 最后一个字符来自上箭头。或者,使用左箭头: >>> impor^[[D 我怎样才能解决这个问题? 在常规bash中,箭头键可以正常工作。奇怪的行为只是在交互式python(或perl等)shell中。
191 python  shell  ssh  arrow-keys 

9
在bash中读取具有默认值的变量
我需要在bash脚本中从终端读取一个值。我希望能够提供用户可以更改的默认值。 # Please enter your name: Ricardo^ 在此脚本中,提示为“请输入您的名称:”,默认值为“里卡多”,光标将位于默认值之后。有什么办法可以在bash脚本中做到这一点?
191 bash  shell 

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.