Articles of bash

如何在Java中使用sudo权限执行bash命令?

我正在使用ProcessBuilder来执行bash命令: import java.io.IOException; public class Main { public static void main(String[] args) { try { Process pb = new ProcessBuilder("gedit").start(); } catch (IOException e) { e.printStackTrace(); } } } 但是我想要这样做: Process pb = new ProcessBuilder("sudo", "gedit").start(); 如何通过超级用户密码bash? ("gksudo", "gedit")不会诀窍,因为它从Ubuntu 13.04以来就被删除了,我需要使用默认命令来执行此操作。 编辑 gksudo回到最新的更新Ubuntu 13.04。

如何在Windows上像Linux一样开发Shell(bash)?

我是Windows用户。 但根据我的项目要求,我需要编写Linux Shell脚本(Bash shell)。 如何在Windows上开发Linux Shell? 有没有用于编写Linux Shell脚本的IDE? 请分享我的一些想法和资源链接。

通过PowerShell / cmd为Linux应用程序调用Windows子系统

随着最近推动Windows内部人员build立14316我们有Linux的Windows子系统(testing版),允许在Windows上运行Ubuntu Linux CLI软件。 它可以通过在Windows PowerShell中运行bash命令或在Windows上的“在Ubuntu上运行Bash”应用程序来启动。 所以,我的问题是关于第一种方式。 我们可以从PowerShell启动bash ,但是没有其他的ubuntu CLI应用程序可用。 你如何做一个工作? 假设我希望zsh可以在不使用bash的情况下启动。

从Bash中另一个更大的文本文件中find文本文件的行的最快方法

我有两个文件, file1.txt和file2.txt 。 file1.txt约有14K行, file2.txt约有20亿。 file1.txt每行有一个字段f1 ,而file2.txt有3个字段,从f1到f3 ,由| 。 我想从file2.txt中find所有行,其中file1.txt f2与file2.txt f2匹配(或者如果我们不想花费额外的时间分割file2.txt的值,则file2.txt )。 file1.txt(约14K行, 未sorting ): foo1 foo2 … bar1 bar2 … file2.txt(约20亿行, 未sorting ): date1|foo1|number1 date2|foo2|number2 date3|foo3|number3 … date1|bar1|number1 date2|bar2|number2 date3|bar3|number3 预期产出: date1|foo1|number1 date2|foo2|number2 date1|bar1|number1 date2|bar2|number2 … 这是我已经尝试过,似乎需要几个小时才能运行: fgrep -F -f file1.txt file2.txt > file.matched 我想知道是否有一个更好,更快的方式来执行这个操作与普通的Unix命令或一个小脚本。

Git fetch github:索引包失败

当运行命令git fetch github时 ,出现以下错误: 致命的:写错误:破pipe93),23.23 MiB | 635 KiB / s 致命的:索引包失败。 然后,当我尝试查找问题的解决scheme时,出现“git.exe has stopped working”错误消息。 运行* GIT_TRACE = 1 git fetch github *没有提供任何额外的细节。 注意 :我可以直接执行git fetch github [分支名称]并且工作正常 当我在Git Gui中尝试“Repository> Compress Database”时,出现“Error:Command Failed”错误。 当我尝试“Repository>validation数据库”时出现同样的错误。 我如何解决这个问题? 这几乎就像我的本地回购是腐败的。 系统信息 * Git Bash:1.7.4-preview20110204 Windows 7 64位*

在磁盘上获取目录大小和大小的最快方法

我最近回答了一个类似的问题,但是我现在想要做的就是模仿使用bash Windows的“目录 – >右键 – >属性”function(见图)。 我能够使用这个命令重现像Size:以字节为单位的东西: echo $(find . -type f -printf "%s+") | sed 's/+$//g' | bc 这是相当快的,但它有可能获得信息更快(比发现)或做math更快(比bc)? 另外,我会使用du -sb命令模拟磁盘上的大小:可能还有另外几个find来计算文件和目录,并模拟Contains:行。 有更好的方法来模拟这样的结果吗?

Windows PATH以bash中的posixpath转换

我怎么能通过标准的msysfunction(如果不是失去了普遍性) Windows目录path(如c:/libs/Qt-static )转换到正确的POSIX dirpath( /c/libs/Qt-static ) ? 反之亦然(特别是intrested)?

如何在Windows Git shell中运行./script.sh?

也许这很尴尬,但是在Git shell中工作时我无法在Windows上运行.sh文件。 也许我必须安装一些东西,但我认为Git会支持bash命令(我知道Windows不使用sh文件)。 我正在从GameClosure执行安装步骤,并在$ ./install.sh一个应用程序select窗口,用于打开sh文件(例如,当您尝试在Windows中打开未知文件时,会询问要使用哪个应用程序打开该文件)。 我已经尝试用Git shell打开它,但失败了… 我要做什么来运行这个文件 ,并从GameClosure教程进行安装步骤? 这是一个截图(警惕波兰语,但我想你们都知道这个消息)。

Bash脚本总是打印“未find命令”

每次我在Debian的命令行中使用bash scriptname.sh来运行脚本时,我都会得到Command Not found ,然后是脚本的结果。 所以这个脚本可以正常工作,但总是会在屏幕上打印一个Command Not Found语句。 我从/var文件夹运行脚本。 这是脚本: #!/bin/bash echo Hello World 我运行它通过键入以下内容: bash testscript.sh 更新 – 问题出现在空行。 每个空白行都会导致找不到命令。 为什么会这样呢?

无法启动Git Bash

无法启动Git Bash,不知道堆栈中的错误发生在哪里。 运行Windows 10,Git Bash,ConEmu和Vagrant。 当我通过ConEmu或应用程序直接启动Git Bash时,会收到以下消息: 0 [main] bash 4696 fork: child 528 – died waiting for dll loading, errno 11 bash: fork: retry: No child processes 1263234 [main] bash 4696 fork: child 684 – died waiting for dll loading, errno 11 bash: fork: retry: No child processes 3519490 [main] bash 4696 fork: child […]