Questions tagged «bash»

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


3
如何使用“查找”忽略某些文件名?
我最喜欢的BASH命令之一是: find . -name '*.*' -exec grep 'SearchString' {} /dev/null \; 它将在当前目录及其下的所有文件的内容中搜索指定的SearchString。作为开发人员,这有时会派上用场。 由于我当前的项目以及我的代码库的结构,因此,我想通过不搜索包含“ .svn”的目录中或目录中或目录下的任何文件,或者不搜索任何文件的方式,使BASH命令更加高级。以“ .html”结尾 查找的MAN页面让我有些困惑。我尝试使用-prune,它给了我奇怪的行为。为了仅跳过.html页面(开始),我尝试了以下操作: find . -wholename './*.html' -prune -exec grep 'SearchString' {} /dev/null \; 并没有得到我希望的行为。我想我可能会错过-prune的要点。你们能帮帮我吗? 谢谢
143 bash  find  regex 


8
在OS X 10.6 Snow Leopard中,$ PATH在哪里设置?
我echo $PATH在命令行上键入并获取 /opt/local/bin:/opt/local/sbin:/Users/andrew/bin:/usr/local/bin:/usr/local/mysql/bin:/usr/local/pear/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin 我想知道这是在哪里设置的,因为我的.bash_login文件为空。 我特别担心的是,在安装MacPorts之后,它在中安装了一堆垃圾/opt。我认为该目录甚至不存在于正常的Mac OS X安装中。 更新:感谢jtimberman更正我的echo $PATH陈述



20
将目录添加到$ PATH(如果尚不存在)
是否有人编写了bash函数来仅在目录$ PATH中添加目录? 我通常使用类似以下的命令添加到PATH: export PATH=/usr/local/mysql/bin:$PATH 如果我在.bash_profile中构造PATH,那么除非我所在的会话是登录会话,否则不会读取它-并非总是如此。如果我在.bashrc中构造PATH,那么它将在每个子Shell中运行。因此,如果启动终端窗口,然后运行屏幕,然后运行外壳程序脚本,则会得到: $ echo $PATH /usr/local/mysql/bin:/usr/local/mysql/bin:/usr/local/mysql/bin:.... 我将尝试构建一个bash函数add_to_path(),该函数仅在目录不存在时才添加目录。但是,如果有人已经写(或发现)了这样的东西,我就不会花时间在上面。
126 bash  script  path 


7
如何配置PuTTY,以便Home / End / PgUp / PgDn在bash中正常工作?
键Home,End,PageUp,PageDown都~在我的bash会话中键入a ,而不是四处移动光标/视图。为什么会发生这种情况,我需要更改哪些设置? GNU bash, version 4.0.28(1)-release (x86_64--netbsd) PuTTY v0.60 该问题最初显示为: 在PuTTY中,为什么在shell(bash)上按下“ Home”键会键入“〜”?或更确切地说,如何使光标移动到我键入的命令的开头? (我认为原因是〜是主目录,但答案却并非如此。)
122 bash  putty 

6
Git Bash在ConEmu
如何创建右键单击上下文菜单项以在ConEmu中的给定文件夹中打开Git Bash ?有关Console2的等效问题,请参见Console2中的Git Bash。
120 windows  bash  git  conemu 

8
从bash中的另一个目录执行命令
说我正在这样做: cd subdir git init cd ../ 有没有一种方法可以使用一个或两个命令来执行此操作,而不必为了在该目录中运行命令而移入和移出目录? (不寻找特定于git的解决方案;这只是一个示例。)
119 bash 

2
如何在Windows Insider Build 14316上删除/重置Linux的Windows子系统
我Windows Subsystem for Linux在Windows 10 Insider Preview内部版本14316上安装了它。现在,我想将其删除,或者更好的是还原为出厂默认设置,即刚安装时的默认设置。 我尝试过将其从“打开或关闭Windows功能”窗口中删除,但是没有运气。我尝试在上述窗口中将其标记为“关闭”,并删除了位于中的手动文件%USERPROFILE%/AppData/Local/lxss,但没有运气。 有没有人成功删除/重置Ubuntu用户模式环境?

4
Bash:别名中的空格
我正在尝试在bash中创建别名。我想做的就是映射ls -la到ls -la | more 在我的.bashrc文件中,这是我尝试的操作: alias 'ls -la'='ls -la | more' 但是,它不起作用,因为(假设)别名名称中有空格。有没有解决的办法?
116 unix  bash  alias 

6
bash是否具有在执行命令之前运行的钩子?
在bash中,我可以安排运行命令之前要执行的功能吗? 有$PROMPT_COMMAND,这是示出了提示,即,只是运行命令后之前执行。 Bash的$PROMPT_COMMAND功能类似于zsh的precmd功能;所以我要寻找的是等同于zsh的bash preexec。 应用示例:将终端标题设置为正在执行的命令;自动time在每个命令之前添加。
111 command-line  bash  hook 

7
通过中间机转发SSH流量
SSH隧道使我感到非常困惑。我想知道我是否可以在Linux中做到这一点。 我有3台机器。 A. My local machine at home. B. Machine at work that I can SSH into (middle man). C. My desktop at work that I can only SSH into from machine B. 所以我可以从A-> B和B-> C进行SSH,但不能从A-> C进行SSH。 有没有一种方法可以设置从A到B的SSH隧道,所以当我运行其他SSH命令时,它们只能在本地计算机A上运行?我基本上是试图从工作到家克隆一个git repo(并且我不能在机器B上安装git)。 另外,一旦设置好了。我也将如何取消设置呢?
110 command-line  bash  ssh  git  tunnel 

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.