你最喜欢的Bash提示符有哪些元素? 我喜欢有一个最近的命令成功的指标,就像这样(在.bashrc ): function exitstatus { EXITSTATUS="$?" BOLD="\[\033[1m\]" RED="\[\033[1;31m\]" GREEN="\[\e[32;1m\]" BLUE="\[\e[34;1m\]" OFF="\[\033[m\]" PROMPT="[\u@\h ${BLUE}\W${OFF}" if [ "${EXITSTATUS}" -eq 0 ] then PS1="${PROMPT} ${BOLD}${GREEN}:)${OFF} ]\$ " else PS1="${PROMPT} ${BOLD}${RED}:(${OFF} ]\$ " fi PS2="${BOLD}>${OFF} " } PROMPT_COMMAND=exitstatus
我想了解使用export命令。 我试过用man export ,但是这个命令没有手册。 任何人都可以帮助我了解在UNIX中使用export吗?
(编辑以适应答案) 看bash(1)手册页中的“数组”部分,我没有find切片bash数组的方法。 所以我想出了这个过于复杂的function: #!/bin/bash # @brief: slice a bash array # @arg1: output-name # @arg2: input-name # @args: seq args # ———————————————- function slice() { local output=$1 local input=$2 shift 2 local indexes=$(seq $*) local -ii local tmp=$(for i in $indexes do echo "$(eval echo \"\${$input[$i]}\")" done) local IFS=$'\n' eval $output="( \$tmp )" } 像这样使用: […]
我正在尝试在OS X上安装Homebrew。 根据Homebrew站点,我应该input brew install wget 而我所得到的就是 -bash: brew: command not found 所以我search了StackOverflow并find了这个答案 。 但是,问题是我没有在/usr/local/bin看到brew 。 所以,我也添加了以下行到我的.bashrc文件 export PATH=/usr/local/bin:$PATH 但我仍然得到command not found错误。 如何在OS X上安装Homebrew?
echo "text" >> 'Users/Name/Desktop/TheAccount.txt' 我该怎么做才能创build文件,如果它不存在,但覆盖它,如果它已经存在。 现在这个脚本只是附加。
我正在Ubuntu linux下编写一些bash脚本。 我希望能够从GUI运行它们,而不需要terminal窗口input任何input或查看任何输出。 到目前为止,唯一需要的input是sudo的密码,而gksudo可以处理这个问题。 但是,我还没有find一个简单的方法来显示一个消息框呢。 是否有某种'gkmessage'命令可用? 我更喜欢默认的Ubuntu安装,但我不介意安装新的软件包,如果有必要的话。
几个月前,我发现了一个命令,使得我的bash历史logging能够在按下向上箭头时自动完成线上已有的内容: $ vim fi 按↑ $ vim file.py 我想在新电脑上设置它,因为它保存了大量的历史logging,节省了大量的时间。 问题是,我不能为了我的生活记住它提到的地方,通过阅读无尽的bash参考和教程不幸也没有帮助。 有人知道命令吗?
我想find一个bash命令,让我grep目录中的每个文件,并将该grep的输出写入一个单独的文件。 我的猜测是要做这样的事情 ls -1 | xargs -I{} "grep ABC '{}' > '{}'.out" 但据我所知,xargs不喜欢双引号。 但是,如果删除双引号,则该命令会将整个命令的输出redirect到一个名为“{}”的文件,而不是一系列单个文件。 有没有人知道用xargs做这个的方法? 我只是用这个grepscheme作为例子来说明我的xargs问题,所以任何不使用xargs的解决scheme都不适用于我。
我有一个约1000行的文件。 我希望我的文件的部分在符合我的grep语句的行之后。 即 $ cat file | grep 'TERMINATE' // Its found on line 534 所以,我想要从第535 to line 1000进行进一步处理。 我该怎么做 ?
说我有太多的程序a和b ,我可以运行./a和./b 。 没有先写入临时文件,是否可以区分输出?