Tag: shell

如何检查在Cygwin,Mac或Linux上运行?

我有一个在Windows / Cygwin和Mac和Linux上使用的shell脚本。 每个版本都需要稍微不同的variables。 shell / bash脚本如何检测它是在Cygwin中,在Mac上还是在Linux中运行?

bash条件:如何“和”expression式? (如果)

我想我不清楚如何做“和”testing。 我想确保存在一个与[ -e $VAR ]的论点,但是结果是空string也被评估为真; 我不想要。 我如何“和”他们在一起? 或者还有另一个完成我想要的testing吗?

使用Firefox浏览整个页面

我在VPS的Xvfb上运行Firefox。 我想要做的是采取整页的页面截图。 我可以使用Firefoxredirect到特定的页面 firefox http://google.com 并使用ImageMagick截图(内X) import root -window output.jpg 问题是,大部分的页面需要滚动,事先不知道高度。 另一种方法是select一个非常大的高度(如4000像素),然后处理图像,并删除无用的部分。 但这是不必要的处理。 我发现了许多Firefox附加组件,但是我正在寻找可以使用Shell命令行进行编程的解决scheme。 编辑:我结束了写这个我自己的FireFox扩展 。

获取传递给shell脚本的最后一个参数

$1是第一个参数。 $@就是全部。 我怎样才能find传递给shell脚本的最后一个参数?

差异文件存在于两个不同的目录中

我有两个相同的文件列表目录。 我需要使用diff命令来比较两个目录中的所有文件。 是否有一个简单的命令行选项,或者我必须编写一个shell脚本来获取文件列表,然后遍历它们?

在Vim中删除换行符

有没有办法在Vim中的一行的末尾删除换行符,以便将下一行添加到当前行? 例如: Evaluator<T>(): _bestPos(){ } 我想把这一切都放在一条线上,不要复制线条并粘贴到前一个线条中。 看来我应该能够将光标放到每行的末尾,按下一个键,然后让下一行跳转到光标所在的同一行上。 最终结果: Evaluator<T>(): _bestPos(){ } 这在Vim中可能吗?

用Bash脚本,我怎么能禁止一个命令的所有输出?

我有一个bash脚本,运行一个带有参数的程序。 该程序输出一些状态(这样做,这样做…)。 这个程序没有select安静。 我怎样才能防止脚本显示任何东西? 我正在寻找像“回声消失”的东西。

在Linux中更改默认shell

如何改变默认的shell? env命令目前说: SHELL=/bin/tcsh 我想把它改成Bash。

如何以编程方式确定当前签出的Git分支

在Unix或GNU脚本环境(例如Linux发行版,Cygwin,OSX)中,确定当前在工作目录中检出哪个Git分支的最佳方法是什么? 这种技术的一个用途就是自动标记一个发行版(就像svnversion会用Subversion一样)。 请参阅我的相关问题: 如何以编程方式确定Git签出是否是标记,如果是,则标记名称是什么?

`find -name`模式匹配多个模式

我试图通过命令find Documents -name "*.{py,html}"来获取目录中所有python和html文件的列表。 接着是手册页: 模式中的花括号('{}')不被认为是特殊的(即find。-name'foo {1,2}'匹配一个名为foo {1,2}的文件,而不是文件foo1和foo2。 由于这是一个pipe道链的一部分,我希望能够指定在运行时匹配哪些扩展(无硬编码)。 如果找不到,perl单行(或类似)就可以了。 编辑:我最终想出的答案包括各种废话,也有点长,所以我张贴它作为一个答案 ,我试图从头开始痒。 随意破解,如果你有更好的解决scheme。