鉴于 Windows XP 的 Cygwin 的标准安装,我想创建一个标准的资源管理器快捷方式,打开一个已经在我选择的目录上打开的 bash shell。该目录是一个 UNC 路径。标准 cygwin.bat 不起作用,因为它调用 cmd.exe,而 cmd.exe 不喜欢 UNC 路径。理想情况下,它不会启动 cmd.exe 或任何其他 shell 来打开 bash。我试过操作 .bashrc 并从我的 Unix 时代挖掘我的记忆,但遗憾的是,这些日子缺乏。我尝试过的各种解决方案几乎都有效,但并不完全有效。
我想通过对文件的更改进行跟踪tail -f,然后grep在终止之前打印出与命令匹配的第一行。什么是最简单的方法来做到这一点?到目前为止,我一直在尝试这样的事情:
tail -f foo.log | grep 'bar' | head -1
Run Code Online (Sandbox Code Playgroud)
然而,管道只是挂起,大概是由于缓冲。我也试过
tail -f foo.log | grep --line-buffered 'bar' | head -1
Run Code Online (Sandbox Code Playgroud)
这会打印出该行,但除非我点击 ^C,否则该过程不会终止,大概是因为需要第二行输入来终止head -1。解决这个问题的最佳方法是什么?
是什么意思,或者下面有什么作用?
set -o emacs
Run Code Online (Sandbox Code Playgroud)
我在某处看到过,而且我是 Emacs 用户,所以这让我很好奇。
由于我目前在我的提示中尝试新东西,我需要一种方法来判断性能影响是什么。
我如何监控呈现提示所需的时间以及获取 .*rc 所需的时间?
当我在办公室使用桌面时,我run.sh在后台启动了4 次脚本。
run.sh parameter1 &
run.sh parameter2 &
run.sh parameter3 &
run.sh parameter4 &
Run Code Online (Sandbox Code Playgroud)
然后我回到家,在我的笔记本电脑上打开一个终端,ssh 到我办公室的桌面。运行时ps -u jack,我看到了启动的进程:
3562 pts/1 00:00:00 bash
4540 pts/2 00:00:00 bash
4643 pts/3 00:00:00 bash
4748 pts/4 00:00:00 bash
Run Code Online (Sandbox Code Playgroud)
但是当我输入时jobs,我什么也没有。为什么我可以看到这四个正在运行的后台进程?
顺便说一句,我怎样才能将它们带回我当前的终端,以便我可以杀死其中一个,比如说run.sh parameter4 &?
我想使用SendTo文件夹中的 bash shell 脚本。当我将批处理或 exe 的快捷方式放入SendTo文件夹时,它会显示在 shellSend To上下文子菜单中,但是当快捷方式指向 shell 脚本时,它不会。
我正在测试的操作系统是 Win7 Home Premium SP1。该扩展名.sh已与 MinGW 的 bash.exe 相关联。
我的 shell 脚本有一个.sh扩展名,我尝试.sh使用此实用程序取消关联扩展名(我认为 MinGW 最初设置了它,但没有用),并尝试使用以下命令将其重新关联到 bash:
ftype ShellScript=c:\MinGW\msys\1.0\bin\bash.exe -c "'%1' %2"
assoc .sh=ShellScript
Run Code Online (Sandbox Code Playgroud)
在管理员 cmd shell 中。尽管这适用于命令提示符和资源管理器外壳(通过双击),但它不会显示在Send To菜单中,也不会通过直接将文件拖到脚本顶部来接受参数。
有谁知道我会怎么做?
我的最后一行.bash_profile是:
alias cp=/usr/local/bin/gcp
Run Code Online (Sandbox Code Playgroud)
但是,这被 my 中的条目压扁了$PATH:
$which cp
/bin/cp
11:54:32/OCspark $type cp
cp is aliased to `/usr/local/bin/gcp'
Run Code Online (Sandbox Code Playgroud)
我原以为别名会覆盖PATH.. ?
我有一个 150GB 的 xml 文件,我想将其缩短(即截断)到大约 1GB - 是否有我可以使用的简单(bash 或类似)命令,或者我是否必须走编程路线(在 vi 或 emacs 中编辑它)即使在大型铁系统上也是噩梦)?
(我并不特别担心信息丢失,我想要一个更短的文件,这样我就可以测试一个软件,而不用等待几个小时的答案,一个更短的文件将允许我这样做。)
NO_PROXY环境变量的解释似乎没有正式标准化。并且特定程序的大多数文档对其确切解释(例如 emacs)相当模糊。
这让我很难回答一个我很好奇的问题:
是否
NO_PROXY=.example.com匹配所有example.com,subdomain.example.com和sub.domain.example.com?
我想NO_PROXY在我的系统内尽可能多的上下文中设置变量以匹配一堆主域以及这些主域的所有子域。
有谁知道实际上在实践中的实施有多多样化NO_PROXY?为了实现我的目标,我是否需要为每个域指定以下内容?:
export NO_PROXY=example.com,.example.com,*.example.com
Run Code Online (Sandbox Code Playgroud) 运行 git bash 时,我可以使用Alt+在我的根目录打开一个新的 bash 窗口F2
我可以在当前目录路径打开一个 windows 资源管理器窗口
$ explorer .
Run Code Online (Sandbox Code Playgroud)
试
$ sh
Run Code Online (Sandbox Code Playgroud)
在我的位置打开一个新的终端窗口刚刚返回
sh: __git_ps1: command not found
Run Code Online (Sandbox Code Playgroud)
并在不运行 git 的情况下在当前窗口中打开 shell。
如何在我的位置快速打开一个新的 bash shell?