Questions tagged «bash»

与其他Bourne / POSIX shell相对,GNU的Bourne Again SHell特有的问题。对于一般关于Unix shell的问题,请改用/ shell标记。

7
在AWK中使用bash shell函数
是否可以以某种方式在AWK中使用bash函数? 示例文件(字符串,整数,整数,整数) Mike 247808 247809 247810 尝试将值从十进制转换为十六进制。 在.bashrc或Shell脚本中定义的函数。 awk '{print $1 ; d2h($2)}' file awk:调用未定义函数d2h输入记录号1,文件文件源行号1
24 bash  awk 

5
Ctrl + C时如何在shell脚本中杀死并等待后台进程完成?
我正在尝试设置一个shell脚本,使其运行后台进程,当我执行Ctrlc该shell脚本时,它将杀死子级,然后退出。 我设法提出的最好的办法就是这个。看来,在kill 0 -INT等待发生之前也会杀死脚本,因此shell脚本在子进程完成之前就死掉了。 关于如何使此Shell脚本等待孩子在发送后死亡的任何想法INT? #!/bin/bash trap 'killall' INT killall() { echo "**** Shutting down... ****" kill 0 -INT wait # Why doesn't this wait?? echo DONE } process1 & process2 & process3 & cat # wait forever

3
管道STDERR与STDOUT
根据“ Linux:完全参考第六版 ”(第44页),您只能使用|&重定向符号通过管道传输STDERR 。 我已经编写了一个非常简单的脚本来对此进行测试: #!/bin/bash echo "Normal Text." echo "Error Text." >&2 我这样运行此脚本: ./script.sh |& sed 's:^:\t:' 大概只有缩进STDERR的行会缩进。但是,正如我所看到的,它实际上并不像这样工作: Normal Text. Error Text. 我在这里做错了什么?

3
如何通过Shell脚本检查特定端口是否在计算机上打开并基于该端口执行操作?
我在端口8080上运行c ++应用程序服务器的计算机上运行下面的Shell脚本,并且在Shell脚本中,我正在执行URL并将来自该URL的响应存储在DATA变量中。 但是,假设同一台应用服务器已关闭,则它将无法执行该URL,然后将其打印Retrying Again并休眠30秒,然后再次执行相同的URL。 #!/bin/bash HOSTNAME=$hostname DATA="" RETRY=15 echo $HOSTNAME while [ $RETRY -gt 0 ] do DATA=$(wget -O - -q -t 1 http://$HOSTNAME:8080/beat) if [ $? -eq 0 ] then break else echo "Retrying Again" >&2 # restart the server let RETRY-=1 sleep 30 fi done echo "Server is …

3
在xterm标题栏中显示命令
我的Bash提示当前正在使用以下顺序设置xterm标题栏: PS1='\033]0;\u@\h>\w\007' 有没有一种简单的方法可以在标题栏中显示当前命令。例如,如果要使用尾随文件tail -f foo.log,则希望标题栏显示tail -f foo.log。

9
如何在bash控制台上重复当前键入的参数?
我只是在输入以下内容: mv foo/bar/poit/zoid/narf.txt 突然意识到,该死,我不得不再次输入该参数的大部分内容 mv foo/bar/poit/zoid/narf.txt foo/bar/poit/zoid/troz.txt 即使有Tabcompletion,也相当痛苦。我知道我可以通过鼠标选择文本和Middleclick复制粘贴参数,但这还不够好。我想留在键盘上。 那么有没有办法使用键盘复制粘贴行的当前参数呢?

1
如何设置用户的默认.bashrc文件?
在Ubuntu 10.4上,我已经编辑了该/etc/bash.bashrc文件以设置一些变量,例如命令历史记录大小(HISTSIZE=5000),但是,如果我创建一个新用户,Ubuntu默认会.bashrc在其主目录中为其提供一个文件,此文件集HISTSIZE=1000将覆盖我的文件。如何更改.bashrc创建的默认文件?



5
从grep结果中添加数字
我运行以下命令: grep -o "[0-9] errors" verification_report_3.txt | awk '{print $1}' 我得到以下结果: 1 4 0 8 我想将每个数字加到一个运行计数变量上。有人可以帮助我打造神奇的衬垫吗?
23 bash  shell  grep 


5
为什么在[[]]测试中使用双引号?
假设我们在bash脚本中有2个整数: value1=5 value2=3 那为什么要在测试中使用双引号呢?例如: if [[ "$value1" -eq "$value2" ]] 为什么不只使用以下内容? if [[ $value1 -eq $value2 ]] 对我来说,双引号没有任何意义。
23 bash  shell  quoting  variable  test 



2
终端中的空白/背景可以替换为ASCII字符的随机(但漂亮)模式吗?
上下文和问题 有许多方法可以使终端和外壳环境着色。单个命令(例如ls和)的输出grep也可以被着色。在控制台上播放媒体的概念虽然没有直接关系,但很有趣,但这似乎依赖于窗口系统顶部的某些框架(库)。以下问题仅针对bashshell及其在Linux终端框架中的实现及其基础。 请考虑以下2D 游戏中场景的ASCII“渲染”蒙太奇: 这些不是随机生成的场景。我选择的所有段实际上都描绘了使用ASCII字符表示此类对象的游戏中某种形式的“草地”地形(树木,灌木丛,灌木,花卉,草等)。最后4个场景展示了用户制作的图块,这些图块基本上是具有颜色规格的ASCII字符的重新映射(这样的细节很简单-可以说这是我在视觉和[...图案”)。 蒙太奇共享中这些场景的共同特征是: 最多5-6个不同的ASCII字符(逗号,引号和其他一些字符) 使用2-4种颜色 对于字符 在某些情况下用于字符背景-最后一个示例在那里显示了使用具有很少或没有字符的颜色阴影来创建图案的方法,即颜色马赛克 目前,我在VM中拥有的是Arch Linux,尽管问题不是特定于发行版的,但我已经研究了他们的文档以自定义/etc/bash.bashrc文件。我可以看到,对于配置提示的外观以及通常所有的前台元素都有很多解释。除了通常的纯色之外,关于背景的任何配置的信息都很少,例如这些设置和提示: # Background On_Black='\e[40m' # Black On_Red='\e[41m' # Red On_Green='\e[42m' # Green On_Yellow='\e[43m' # Yellow On_Blue='\e[44m' # Blue On_Purple='\e[45m' # Purple On_Cyan='\e[46m' # Cyan On_White='\e[47m' # White 我仍然没有从概念上掌握使用控制台时没有输入的空白​​/空白/背景“空格”,即“它们是由什么组成的?” 可以这么说。尤其是那些不在提示符下且环绕回显命令的命令。关于活动行上发生的事情,有可能演示bash以“面向行”的方式执行操作,并且某些操作触发清除活动行(for i in $(seq 1 $(expr $(tput lines) \* $(tput cols))); …
23 bash  terminal  colors  tty 

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.