Questions tagged «bash»

有关为Bash命令外壳编写的脚本的问题。对于具有错误/语法错误的shell脚本,请在此处发布之前,使用shellcheck程序(或在Web shellcheck服务器中的https://shellcheck.net)进行检查。有关Bash交互使用的问题更可能是Super User而不是Stack Overflow上的话题。

5
如何更改bash历史记录的完成情况以完成生产线中已有的内容?
几个月前,我发现了一个命令,该命令使我的bash历史记录在按向上箭头时自动完成了: $ vim fi 按 ↑ $ vim file.py 我想在我的新计算机上进行设置,因为在保存历史记录时可以节省很多时间。问题是我一生都无法记住它的提及之处,不幸的是,无休止的bash参考资料和教程的阅读也无济于事。 有人知道命令吗?
133 linux  bash  shell 

6
Bash shell中的$ {var},“ $ var”和“ $ {var}”之间有什么区别?
标题说的是:将变量封装在{},""或中是什么意思"{}?我无法在网上找到有关此的任何解释-除了使用符号之外,我无法引用它们。什么都不产生 这是一个例子: declare -a groups groups+=("CN=exampleexample,OU=exampleexample,OU=exampleexample,DC=example,DC=com") groups+=("CN=example example,OU=example example,OU=example example,DC=example,DC=com") 这个: for group in "${groups[@]}"; do echo $group done 事实证明与此不同: for group in $groups; do echo $group done 还有这个: for group in ${groups}; do echo $group done 只有第一个可以完成我想要的工作:遍历数组中的每个元素。对于,和之间的区别$groups,我不清楚。如果有人可以解释,我将不胜感激。"$groups"${groups}"${groups}" 另外一个问题-有人知道引用这些封装的公认方法吗?
133 bash  shell  variables  syntax 



6
Bash脚本设置临时SSH隧道
在Cygwin上,我希望Bash脚本能够: 创建到远程服务器的SSH隧道。 在本地使用隧道进行一些工作。 然后关闭隧道。 关闭部分让我感到困惑。 目前,我有一个me脚的解决方案。在一个shell中,我运行以下命令来创建隧道: # Create the tunnel - this works! It runs forever, until the shell is quit. ssh -nNT -L 50000:localhost:3306 jm@sampledomain.com 然后,在另一个Shell窗口中,我进行工作: # Do some MySQL stuff over local port 50000 (which goes to remote port 3306) 最后,完成后,我关闭第一个外壳窗口以杀死隧道。 我想在一个脚本中完成所有操作,例如: # Create tunnel # Do work …
132 bash  ssh 

8
如何在Windows命令提示符下运行.sh?
如何在Windows 7命令提示符下运行.sh?当我尝试在其中运行此行时,总是会收到此错误, app/build/build.sh 错误, 'app' is not recognized... 要么, bash app/build/build.sh 错误, 'bash' is not recognized... 有什么想法我错过了吗? 屏幕抓取
132 windows  bash  command-line  sh 


9
在bash脚本中使用Expect为SSH命令提供密码
对于那些想回复我应该使用SSH密钥的人,请弃权 我正在尝试在bash脚本中使用Expect提供SSH密码。提供密码是可行的,但是我并没有像应该的那样最终进入SSH会话,它会陷入僵局。 我的剧本: #!/bin/bash read -s PWD /usr/bin/expect <<EOD spawn ssh -oStrictHostKeyChecking=no -oCheckHostIP=no usr@$myhost.example.com' expect "password" send "$PWD\n" EOD echo "you're out" 我的脚本的输出: spawn ssh -oStrictHostKeyChecking=no -oCheckHostIP=no usr@$myhost.example.com usr@$myhost.example.com's password: you're out 我想拥有我的SSH会话,并且只有在退出该会话后才能返回到我的bash脚本。我之所以使用bash,是因为我使用了可以选择要连接到的设备的菜单。 谢谢
131 linux  bash  ssh  expect 

18
如何删除Shell中最近10条命令的历史记录?
命令如下 511 clear 512 history 513 history -d 505 514 history 515 history -d 507 510 513 516 history 517 history -d 509 518 history 519 history -d 511 520 history 我可以通过删除单个history -d 511命令,但是如何在shell中使用单个命令删除最后10个命令以及10个命令之间的历史记录呢? 我们可以编写bash脚本并执行以删除历史记录吗?
131 linux  bash  shell  terminal 


7
.bashrc,.bash_profile和.environment有什么区别?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它当前不接受新的答案或互动。 多年来,我使用了许多不同的基于* nix的系统,而且似乎我使用的每种Bash都有不同的算法来确定要运行的启动脚本。出于诸如设置环境变量和别名以及打印启动消息(例如MOTD)之类的任务的目的,哪个启动脚本是执行这些操作的合适位置? 是什么把事情之间的差异.bashrc,.bash_profile以及.environment?我也看到其他的文件,例如.login,.bash_login和.profile; 这些是否相关?物理登录,通过ssh远程登录以及打开新的终端窗口时,运行的区别是什么?跨平台(包括Mac OS X(及其Terminal.app)和Cygwin Bash)是否存在显着差异?
130 shell  environment  bash 

4
从变量末尾删除字符
Bash自动完成功能会在目录名称的末尾附加一个/。如何从位置参数中删除呢? #!/bin/sh target=$1 function backup(){ date=`date "+%y%m%d_%H%M%S"` PWD=`pwd` path=$PWD/$target tar czf /tmp/$date$target.tar.gz $path } backup
130 bash  shell 


4
如何仅在给定目录中查找文件,并使用bash忽略子目录
我查看了其他类似的问题,但是没有找到能够使我理解这一概念并将其应用于基于我的有限时间的情况的问题。我只是运行find命令来查找某些文件,但是子目录中的某些文件具有我要忽略的相同名称。谢谢你的帮助。以下是我正在使用的命令: 我感兴趣的文件/模式:/ dev / abc-scanner,/ dev / abc-cash...。 命令: find /dev/ -name 'abc-*' 返回什么: /dev/abc-scanner /dev/abc-cash ... ... ... /dev/.udev/names/abc-scanner /dev/.udev/names/abc-cash 我想忽略后面的文件:/dev/.udev / ...
129 bash  unix 

3
Bash脚本:计算文件中的唯一行
情况: 我有一个大文件(数百万行),其中包含来自几个小时网络捕获的IP地址和端口,每行一个ip /端口。行的格式如下: ip.ad.dre.ss[:port] 所需结果: 我在记录日志时收到的每个数据包都有一个条目,因此有很多重复的地址。我希望能够通过某种shell脚本运行该脚本,从而可以将其简化为以下格式的行 ip.ad.dre.ss[:port] count 其中count,该特定地址(和端口)的出现次数。无需执行任何特殊工作,将不同的端口视为不同的地址。 到目前为止,我正在使用此命令从日志文件中抓取所有IP地址: grep -o -E [0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(:[0-9]+)? ip_traffic-1.log > ips.txt 由此,我可以使用一个相当简单的正则表达式来抓取我的地址发送的所有IP地址(我不在乎) 然后,我可以使用以下内容提取唯一条目: sort -u ips.txt > intermediate.txt 我不知道如何以某种方式汇总行数。
129 bash 

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.