我目前将我的 bashPS1设置为这样的:
PS1="\[\`if [[ \$? = "0" ]]; then echo '\e[32m\h\e[0m'; else echo '\e[31m\h\e[0m' ; fi\`:\w\n\$ "
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它显示绝对路径而不是相对路径(例如/home/dave/dir而不是~/dir)?
我在听 Survivor - "Eye of the Tiger" 并在 Vim 中编写一些文档时注意到光标没有随着节拍闪烁开始让我烦恼。这可以解决吗?
我正在使用Terminator和bash。
我试图生成字符串“hello”的MD5总和(使用 md5sum)。我尝试了不同的方法,如 Linux 中的 md5sum 工具、PHP 的 MD5() 函数以及各种在线文本到 md5sum 转换器。
echo "hello" | md5sum
Run Code Online (Sandbox Code Playgroud)
和
echo "hello" > file && md5sum file
Run Code Online (Sandbox Code Playgroud)
给出了结果b1946ac92492d2347c6235b4d2611184。但是,PHP 的 md5() 函数和几乎所有在线生成器都给出了输出5D41402ABC4B2A76B9719D911017C592.
是什么原因?
有没有办法在 bash 命令行中将焦点放在正在运行的进程的特定窗口上。假设我知道进程的名称、编号以及我需要的任何其他信息。
例如,如果我有一个 Firefox 实例正在运行,但是它被最小化了(或者它上面有一些其他窗口)。我需要一个 bash 命令,通过将其设置为活动窗口来调出并聚焦到 Firefox 窗口。
我使用 Linux 和 Mac,我很快就会教授一些命令行的东西。
我可以在 Windows 上安装什么来给我一个最类似于基本 Mac/Linux Bash shell 的终端窗口?
如果可能,我也希望能够定义 .bash_aliases。
在~/.bash_profile
我有:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
Run Code Online (Sandbox Code Playgroud)
在~/.bashrc我有一些别名
当我加载一个新的 iTerm 窗口时,我的别名不起作用。如果我来源~/.bashrc他们工作。如果我来源~.bash_profile他们工作。
其中至少一个不应该是自动采购的吗?
什么可能导致它无法正常工作?
如果我grep -nr sumthin *在我的源代码目录中,它也会从缩小的 JavaScript 或 CSS 文件中喷出很长的行。我只想获得每行的前 80 个字符。
例如,一个常规grep给我这个:
css/style.css:21: behavior: url("css/iepngfix.htc")
css/style-min.css:4:.arrow1{cursor:pointer;position:absolute;left:5px;bottom:10px;z-index:13;}.arrow2{cursor:pointer;position:absolute;right:5px;bottom:10px;z-index:13;}.calendarModule{z-index:100;}.calendarFooterContainer{height:25px;text-align:center;width:100%!important;z-index:15;position:relative;font-size:15px!important;padding:-2px 0 3px 0;clear:both!important;border-left:1px solid #CCC;border-right:1px ... etc.
Run Code Online (Sandbox Code Playgroud)
但我只想得到这个:
css/style.css:21: behavior: url("css/iepngfix.htc")
css/style-min.css:4:.arrow1{cursor:pointer;position:absolute;left:5px;bottom:
Run Code Online (Sandbox Code Playgroud)
什么 Linux 命令可以做到这一点?
我想为某个目录中的ln -s所有文件(或一类文件,例如以 结尾.bar)创建符号链接 ( ) 。说我在 cwd 中,然后键入ls ../source/*.bar给我
foo.bar
baz.bar
Run Code Online (Sandbox Code Playgroud)
我如何将参数列表传递给ln -s它最终解析为
ln -s ../source/foo.bar
ln -s ../source/baz.bar
Run Code Online (Sandbox Code Playgroud)
当然,我知道我可以编写 bash 脚本,但是应该有一些更简单的内容,xargs因为它似乎是一项常见任务 - 至少对我而言。
我发现这\n在 Mac OS X 下的 sed中不起作用。具体来说,假设我想将由单个空格分隔的单词分成几行:
# input
foo bar
Run Code Online (Sandbox Code Playgroud)
我用,
echo "foo bar" | sed 's/ /\n/'
Run Code Online (Sandbox Code Playgroud)
但结果是愚蠢的,\n是逃不掉的!
foonbar
Run Code Online (Sandbox Code Playgroud)
在向谷歌咨询后,我找到了一个解决方法:
echo 'foo bar' | sed -e 's/ /\'$'\n/g'
Run Code Online (Sandbox Code Playgroud)
看完文章,还是没明白是什么\'$'\n/g'意思。有人可以向我解释一下,或者是否有其他方法可以做到?谢谢!
可能的重复:
在 linux 中搜索文本模式
在 bash 中,我想知道是否有任何命令可以让您知道您正在查找的特定字符串是否存在于您所在的当前目录中的文件中。
假设您正在当前目录中的一组 C 文件中查找函数“toUpperCase()”。有很多文件,因此您不想使用 vim 手动打开每个文件并检查字符串 'toUpperCase',因为这会花费很多时间。如果不是 bash 命令行,是否还有另一种方法可以有效地执行此操作?