Tag: bash

如何从bash grep输出中删除最后一个字符

COMPANY_NAME=`cat file.txt | grep "company_name" | cut -d '=' -f 2` 输出这样的东西 "Abc Inc"; 我想要做的就是删除尾随的“;” 以及。 我怎样才能做到这一点? 我是一个初学者bash。 任何想法或build议都会有所帮助。

当我认识Perl时,是否值得学习BASH?

我所有的脚本都是用Perl完成的,我可以在命令行执行一行,而Perl正则expression式似乎更容易。 有什么我可以在BASH中做我不能在Perl中做的? 我只是觉得自己不是一个真正的黑客,除非我花时间去研究BASH并开始使用Sed和Awk。 这是值得的,还是我只是要求痛苦和挫折?

在terminal中使用subl命令的问题:“找不到命令”&“没有这样的文件或目录”

我想事先道歉,这是一个新手问题! 我花了最后2个小时试图find一个解决scheme。 我有两个问题(我确定相关)。 背景: 这是我的$ PATH的样子: /Users/Sponsi/.rvm/gems/ruby-1.9.3-p194/bin:/Users/Sponsi/.rvm/gems/ruby-1.9.3-p194@global/bin:/Users/Sponsi/.rvm/ruby/ruby1.9.3-P194 /斌:/Users/Sponsi/.rvm/bin:在/ usr / bin中:/ bin中:/ usr / sbin目录:/ sbin目录:在/ usr / local / bin目录:在/ usr /本地/ git的/ bin中:在/ usr / X11 / bin中 问题#1 我正在尝试使用命令行命令“subl”在OSX上启动Sublime Text 2。 我input了以下命令:“ ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl 它只有一半的工作 – 当我进入“subl”我得到“命令未find”。 但是,当我重新input上面的命令说:“已经存在”。 我在网上search,发现(有点)修复。 我将以下内容添加到我的.bashrc中: echo 'export PATH="./bin:$PATH"' >> ~/.bashrc source ~/.bashrc 使用命令“subl”不起作用,但只是暂时的。 […]

取消设置单个命令的环境variables

在Bash中,我们可以通过这种方式为单个命令设置一个环境variables: FOO=bar somecommand 如果我们想为单个命令取消一个variables,该怎么办?

在bash脚本中模拟用户input

我正在创build自己的bash脚本,但是现在我陷入了困境。 基本上,脚本将被用来在CentOS中自动进行服务器设置。 有些软件通常会要求用户input密码。 我希望脚本把我已经生成并存储为variables的密码,而不是询问用户。 在安装过程中出现消息“New password:”时,如何让脚本将值存储在variables$key ,就像用户使用bash脚本键入的那样?

shell脚本中“=〜”运算符的含义

我遇到了代码的shell脚本 for line in $LIST_ARRAY;do if [[ $LIST_ARRAY =~ $line ]] then echo "true" …. … . 在这种情况下,有什么用途?

如何分割一个文件,并保持每一块的第一行?

鉴于:一个大的文本数据文件(如CSV格式)与“特殊”的第一行(例如,字段名称)。 通缉:相当于coreutils split -l命令,但还要求原始文件的标题行出现在每个结果段的开头。 我猜测一些混合的split和head会做的伎俩?

bash提示符和回显函数内的颜色

我有这个在我的.bashrc中: LIGHTGREEN="\[\033[1;32m\]" LIGHTRED="\[\033[1;31m\]" WHITE="\[\033[0;37m\]" RESET="\[\033[0;00m\]" function error_test { if [[ $? = "0" ]]; then echo -e "$LIGHTGREEN" else echo -e "$LIGHTRED" fi } PS1="\u\$(error_test)@\w$RESET \$ " 这似乎使shell输出完全一样: username\[\]@~/ 在我的提示中显示了颜色代码的转义[和]。 如果我从它的工作颜色周围删除转义码,但然后bash线包装大大失败。 注意如果PS1="LIGHTGREEN – whatever – $RESET"它工作,并且[和]不逃脱。 不过,我想在一个函数里面这样做,这似乎是个问题。 我找不到任何好的文档。 man echo甚至没有列出-e选项。 Bash好像有很多无证的手工知识。

当你处于历史的中间时,浏览历史上最早/最新的命令

说我在一个bashdocker,有一个很长的命令历史。 我向上压了很多次,并处于历史的“中间”。 我现在想要快速导航到历史logging中的第一个或最后一个命令(没有长时间保持向上或向下箭头)。 这可能吗? 如果是的话,实现这个目标的捷径是什么?

grep的开始和结束的行?

我有一个文件,我想grep以-rwx或drwx开始并以任何数字结尾的行。 我有这个,但不是很对。 有任何想法吗? grep [^.rwx]*[0-9] usrLog.txt