Questions tagged «bash»

有关为Bash命令外壳编写的脚本的问题。对于具有错误/语法错误的shell脚本,请在此处发布之前,使用shellcheck程序(或在Web shellcheck服务器中的https://shellcheck.net)进行检查。有关Bash交互使用的问题更可能是Super User而不是Stack Overflow上的话题。

13
如何在路径中添加〜/ bin?
我在修改添加Sublime Text 2的路径时遇到了麻烦。我添加了一个~/bin目录并运行以下命令: ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl subl链接显示在中~/bin。但是我需要将~/bin目录添加到我的路径。我在这方面还很新,我不知道我的路在哪里。我环顾四周,发现可能的文件要么.profile,.bash_profile或.bashrc 我没有.bash_profile。到.profile和.bashrc我添加了 PATH=$PATH:~/bin/subl export PATH 这是正确的补充吗?如果是这样,我应该在哪里添加它? 当echo $PATH我得到时: /Users/<username>/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2ndEd/bin:/Users/<username>/.rvm/gems/ruby-1.9.3-p194@global/bin:/Users/<username>/.rvm/rubies/ruby-1.9.3-p194/bin:/Users/<username>/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin 输入时subl,我得到: -bash: subl: command not found 谢谢! ps我以前安装了Macports,该.profile文件修改了我的文件。不知道这是否与它有任何关系-我现在不知道默认的.profile外观。

5
使用Bash在Linux中设置环境变量
在中tcsh,我有以下脚本正在工作: #!/bin/tcsh setenv X_ROOT /some/specified/path setenv XDB ${X_ROOT}/db setenv PATH ${X_ROOT}/bin:${PATH} xrun -d xdb1 -i $1 > $2 tcsh setenvBash中的功能等效于什么? 有直接的模拟吗?环境变量用于查找可执行文件。
74 linux  bash  unix  shell 


4
grep --ignore-case --only
同时使用--ignore-case和--only-match选项时,grep失败。例: $ echo "abc" | grep -io abc abc $ echo "ABC" | grep -io abc $ 但 $ echo "abc" | grep -i abc abc $ echo "ABC" | grep -i abc ABC 根据手册页: -o, --only-matching Show only the part of a matching line that matches PATTERN. -i, --ignore-case …
74 regex  bash  unix  grep  gnu 


5
检查环境变量
我正在尝试检查环境变量的值,并根据该值执行某些操作,并且只要设置了该变量,它就可以正常工作。如果不是这样,我会遇到很多错误(我猜是BASH试图将我指定的字符串与未定义的变量进行比较) 我尝试执行额外的检查以防止它发生,但是没有运气。我正在使用的代码块是: #!/bin/bash if [ -n $TESTVAR ] then if [ $TESTVAR == "x" ] then echo "foo" exit elif [ $TESTVAR == "y" ] then echo "bar" exit else echo "baz" exit fi else echo -e "TESTVAR not set\n" fi 这是输出: $ export TESTVAR=x $ ./testenv.sh foo $ export …
74 linux  bash  shell 

5
如何使用grep在`name =`之后获取任何内容?
我一直在尝试grep之后的任何内容,仅name=包含空格和字母数字。 例如: name=some value here 我懂了 some value here 我对此完全陌生,以下grep匹配包括在内的所有内容name=。 grep 'name=.*' filename 任何帮助深表感谢。
74 regex  bash  grep 

12
如何分割文件并在每一部分中保持第一行?
给定:一个大文本数据文件(例如CSV格式),第一行带有“特殊”行(例如字段名称)。 想要的:与coreutilssplit -l命令等效,但另外的要求是,原始文件的标题行必须出现在每个结果片段的开头。 我猜想会合split而head为之吗?
73 linux  bash  file  shell  text 



4
在Linux终端中,如何考虑到文件夹的内容,显示该文件夹的最后修改日期?
所以这是交易。假设我有一个名为“ web”的目录,因此 $ ls -la drwx------ 4 rimmer rimmer 4096 2010-11-18 06:02 web 但是在这个目录下,web / php / $ ls -la -rw-r--r-- 1 rimmer rimmer 1957 2011-01-05 08:44 index.php 这意味着即使我的目录/web/php/index.php的内容上次修改时间为2011年1月5日,/ web /目录本身也被报告为最后修改时间为2010年11月18日。 我需要做的是递归地将/ web /目录的最后修改日期报告为该目录内任何文件/目录的最新修改日期。 我该怎么做呢?

2
!是什么意思!在Shell中执行命令之前?
问题在标题中。以感叹号开头的shell命令(shell脚本的一部分)的目的是什么?具体示例: 在foo.sh中: #!/usr/bin/env bash set -e ! docker stop foo ! docker rm -f foo # ... other stuff 我知道没有空格,感叹号用于替换历史记录,并且! <expression>根据手册页可以用于评估“ expr为false时为True ”。但是在示例上下文中,这对我来说没有意义。
73 linux  bash  shell  unix  sh 

5
如何使bash制表符补全像vim制表符补全,并在匹配匹配之间循环?
我一直想为YEARS找到一个解决方案。 因此,在处理文件时,我在vim中比bash更有效率。 如果我有 file_12390983421 file_12391983421 file_12340983421 file_12390986421 在bash中,输入file_1-> tab,显然列出: file_12390983421 file_12391983421 file_12340983421 file_12390986421 这是一个令人毛骨悚然的工作,令人痛苦。 vim中相同的顺序将一次遍历文件。 请有人告诉我如何在bash中执行此操作,或者如果还有另一个Shell可以执行此操作,我明天将切换。
73 bash  shell  vim 

6
防止grep在输入不匹配时返回错误
我想在bash脚本中编写一段代码,检查程序是否已在运行。我有以下内容以便搜索栏是否正在运行 foo=`ps -ef | grep bar | grep -v grep` 的 grep -v grep 部分是确保在ps结果中不考虑“ grep bar” 如果bar没有运行,则foo正确为空。但是我的问题在于该脚本具有 set -e 如果某个命令返回错误,则该标志是终止脚本的标志。事实证明,当bar不运行时,“ grep -v grep”与任何内容都不匹配,并且grep返回错误。我尝试使用-q或-s但无济于事。 有什么解决办法吗?谢谢
73 bash  grep 

17
在Ubuntu中重新创建PyCharm启动器
我安装pycharm正常通过bin/pycharm.sh,但我犯的错在做bash pycharm.sh ,而在pycharm目录有下载文件夹内。 后来我将目录移到/opt/Pycharm/。这导致曾经运行的统一启动器(在最初安装PyCharm时添加)在每次我尝试使用它时都失败(如预期的那样)。 如何pycharm.sh从统一启动器中重新添加为可发布的应用程序?我知道pycharm.sh文件的位置。我尝试将其添加到其中,/usr/bin/但这并没有改变任何内容。 我仍然可以通过启动pycharm bash /usr/opt/Pycharm/bin/Pycharm.sh。但这很乏味。 更新 我尝试.desktop使用以下脚本为pycharm创建新文件: [Desktop Entry] Encoding=UTF-8 Name=PyCharm Exec=/opt/Pycharm-3.0.1/bin/pycharm.sh Icon=/opt/Pycharm-3.0.1/bin/PyCharm_32.png Type=Application Categories=Development; StartupWMClass=PyCharm 但是,当我尝试将文件保存在时,出现“无法保存Pycharm.desktop”错误/usr/share/applications/pycharm.desktop。任何对此的帮助将不胜感激。
73 bash  ubuntu  pycharm 

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.