Questions tagged «bash»

Bash是来自GNU Project的类Unix操作系统的免费外壳。

6
如何仅保留文件的第n行
我有一个相当大的CSV文件(75MB)。我只是想生成一个图形,所以我真的不需要所有数据。 重新措辞:我想删除n行,然后保留一行,然后删除n行,依此类推。 因此,如果文件如下所示: Line 1 Line 2 Line 3 Line 4 Line 5 Line 6 并且n = 2,则输出为: Line 3 Line 6 似乎sed可以做到这一点,但我还没办法弄清楚。bash命令将是理想选择,但是我愿意接受任何解决方案。
71 bash 


3
使用“ bash -e”时,如何获取子外壳的输出和退出值?
考虑以下代码 external-scope.sh #!/bin/bash set -e source inner-scope.sh echo $(inner) echo "I thought I would've died :(" inner-scope.sh #!/bin/bash function inner() { echo "winner"; return 1; } outer-scope.sh通话inner()失败时,我试图退出。由于$()调用了子外壳程序,因此不会发生这种情况。 在保留函数可能会以非零退出代码退出的事实的同时,如何获取函数的输出呢?
70 bash 



4
找出用户名是否存在
如何在Shell脚本中找出当前系统上是否存在给定的用户名? /etc/passwd并且/etc/shadow不完整。考虑OS X的目录服务或具有类似Active Directory集成的Linux。
68 bash  unix  shell 

10
文本文件中的替换**不带正则表达式
我需要用替换内容替换文本文件中的一些文本。通常我会做类似的事情 sed -i 's/text/replacement/g' path/to/the/file 问题在于,两者text和replacement都是包含破折号,斜杠,黑斜杠,引号等的复杂字符串。如果我逃避了所有必要的字符text,事情就会很快变得不可读。另一方面,我不需要正则表达式的功能:我只需要逐字替换文本即可。 有没有一种方法可以在不使用某些bash命令使用正则表达式的情况下进行文本替换? 编写执行此操作的脚本会很简单,但是我认为应该已经存在一些东西。
68 bash  regex  sed  text-editing 

7
cURL:重定向时如何抑制奇怪的输出?
我正在尝试stderr仅从bash shell 打印cURL请求(发送到)的详细部分。 但是当我这样重定向时stdout: curl -v http://somehost/somepage > /dev/null 某种结果表出现在输出的中间,显示为stderr: % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 紧随其后的是: { [data not shown] 118 592 0 592 0 …

4
检查bash脚本的任何参数是否与字符串匹配
我正在尝试编写一个脚本,在该脚本中,我要检查传递给bash脚本的任何参数是否与字符串匹配。我现在设置的方式是 if [ "$3" != "-disCopperBld" -a "$4" != "-disCopperBld" -a "$5" != "-disCopperBld" -a "$6" != "-disCopperBld"] 但是可能有很多参数,所以我想知道是否有更好的方法可以做到这一点? 谢谢 编辑:我尝试了这段代码,并使用-disableVenusBld选项调用了脚本,但是它仍然打印出“开始构建”。难道我做错了什么?提前致谢! while [ $# -ne 0 ] do arg="$1" case "$arg" in -disableVenusBld) disableVenusBld=true ;; -disableCopperBld) disableCopperBld=true ;; -disableTest) disableTest=true ;; -disableUpdate) disableUpdate=true ;; *) nothing="true" ;; esac shift done …

4
推送/弹出当前目录?
使用bash有没有一种方法可以推送和弹出当前工作目录?我尝试编写,bash;cd dir; ./dostuff;exit;但是当前目录是现在dir。
66 linux  bash 

2
如何使用bash重新哈希$ PATH中的可执行文件
主题说明了一切,如何在更改内容后重新哈希$ PATH之一中可用的可执行文件:例如,从一个$ PATH中删除了一个二进制文件,而该二进制文件在另一个$ PATH中可用,则更改了$ PATH变量。
64 bash 

2
如何列出可用于lpr的打印机名称?
该lpr男子说:页目标打印机可以与指定-P标志。 -P destination[/instance] Prints files to the named printer. 我已经使用Ubuntu / Gnome中的GUI在本地Samba共享上“添加”了各种打印机。我如何以-P标志期望的格式(最好是从bash shell中)获取这些可用打印机的列表?
64 linux  ubuntu  bash  printing  lpr 

4
Windows 10 Ubuntu Bash Shell:如何安装其他Windows驱动器?
我正在使用Windows 10的Ubuntu Bash shell。它将C驱动器映射为/ mnt / c。 我还有其他本地物理硬盘驱动器,在Windows中挂载为E:和F: 我如何告诉Bash也挂载这些驱动器(理想情况下自动在/ mnt / e和/ mnt / f挂载,但是可以手动挂载)?“ sudo fdisk -l”似乎不起作用(无法打开/ proc / partitions),所以我不确定如何找到它们的名称,否则我将只使用常规的安装命令。
64 windows-10  bash  mount 

4
为什么是 。默认不在路径中?
多年来,在类似UNIX的系统上(对我而言,最相关的是Linux),我注意到默认情况下,.(当前目录)从来没有在其中$PATH。为什么是这样? 我记得几年前曾读过这是一个安全问题,但我读过的文章并未解释到底是什么问题。是因为有人可能将恶意版本ls或恶意软件保留cp在目录中,而我最终在没有意识到它存在的情况下运行它?
63 bash  path 

7
在Bash中完成命令后连续重新执行命令
我试图找出一种简单的方法,使它无论出于任何原因(错误或其他原因),在执行完命令后都能重新执行。 解决此问题的最佳方法是什么? 编辑:我之前还不够清楚。我需要的下一个执行的等待,直到前一个结束。 编辑2:几乎所有答案都很好。我错误地认为,大多数答案将要么分叉该过程,要么仅重新执行一次,而这都不是必需的。
62 linux  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.