Articles of cygwin

快速查找Java是否从Windows cmd或Cygwinterminal启动

我有一个将从Windows命令提示符和Cygwinterminal使用的Java应用程序。 该程序使用和操作文件path。 当程序从Cygwin启动时,我们会非常有用一个sepvariables,而当程序从Windows启动的时候是\\ 。 看这里 ,我不确定这是可能的,但我想问。 我将发布一个小的,可编译的应用程序,在几分钟内显示该问题。 现在,我只是说我想要一组函数,就像这样: // in main … String sep = getSeparatorToUse(); … // member functions … private boolean wasLaunchedFromWinCmd() { if (<something-here-that-knows-it-was-cmd-not-cygwin>) return true; return false; }//endof: private boolean wasLaunchedFromWinCmd() private String getSeparatorToUse() { if (wasLaunchedFromWinCmd) return "\\" return "/" }//endof: private String getSeparatorToUse() 谢谢@Raphael_Moita。 这些是非常有用的,我可能会在我将要使用的Linux版本的应用程序中使用它们。 @Luke_Lee,我觉得哑巴没有意识到它。 我想你们两个可能已经解决了我的问题,而我准备好了可编译的代码。 当程序从批处理脚本运行时,仍然有一个问题 – […]

找不到lpython2.7

/usr/lib/gcc/x86_64-pc-cygwin/5.4.0/../../../../x86_64-pc-cygwin/bin/ld:找不到-lpython2.7 collect2:error:ld返回1退出状态 我正在cygwin工作,试图安装sentry ,遇到这个错误? 任何人都可以告诉我为什么我遇到这个问题,是与python-dev包相关的问题? 另外如何在cygwin上安装python-dev(如果需要的话)?

Cygwin中的信号处理行为

我的Windows机器上有一个使用MinGW的gcc编译的可执行文件loop.exe 。 loop.c的代码在行为上类似于: #include <stdio.h> #include <signal.h> #include <unistd.h> static int sigintReceived = 0; void sigint_handler(int signum){ sigintReceived = 1; } int main(){ signal(SIGINT, sigint_handler); while(1){ sleep(1); if(sigintReceived){ printf("SIGINT received"); exit(0); } } } 如果我使用Cygwin.bat打开Cygwinterminal并运行./loop.exe ,然后按Ctrl + C,我将看到输出: SIGINT received 但是,如果我使用Cygwin.bat打开两个terminal并在其中运行./loop.exe在另一个terminal中kill -2 <LOOP_EXE_PID> ,则根本没有看到输出。 当我运行kill -## <LOOP_EXE_PID>与任何信号和处理程序(例如,如果我kill -10我会得到一个Bus error或者如果我kill -12我会得到的代码就好像没有信号处理程序存在一个Bad system call或者如果我kill -11我会得到一个Segmentation fault ) […]

在Windows上构buildMono的类库

任何人都可以提供一步一步的指导如何在Windows上构buildMono类库(即System.dll和mscorlib.dll)? 我已经可以使用msvc构build核心的libmono / mono。 我已经看了以下(他们都没有工作…) http://ondotnet.com/pub/a/dotnet/2005/02/07/monowindows.html http://www.codeproject.com/KB/cross-platform/mono_on_windows.aspx http://www.mono-project.com/Compiling_Mono_on_Windows 注意:我正在使用SVN的最新源代码。 (我需要tasklet支持…) 谢谢。

如何在VIM中映射Shift-Tab? (Cygwin,Windows cmd.exe)

我在这里看到了一些关于使Shift-Tab在vim中工作的条目,但是没有一个条目在Cygwin中运行在Windows命令提示符下时解决了失败。 在那个环境下,Shift-Tab对我来说就像是一个未被移动的选项卡,我的重映射尝试失败了: :imap <S-Tab> ^D [这是一个真正的Ctrl-D,在它之前用Ctrl-Vinput] :imap [在这里键入Ctrl-V,Shift-Tab; 有一个Tab字符插入] 所以看起来,Shift修饰符被忽略。 有关如何进行的任何想法? 谢谢。

通过Python程序将parameter passing给Cygwin

我遇到了bpython并尝试在cygwin的帮助下将其安装在我的Windows系统上。 现在,每当我必须访问bpython程序,我必须打开cygwin,而不是在cygwin shell中写入bpython。 现在我正在尝试使用python脚本自动化上述过程。所以,只要我在我的Windows command prompt写入bpython.py ,就应该直接为我打开bpython shell 。 我的代码: import subprocess subprocess.call('F:\cygwin\Cygwin.bat') 使用上面的代码,我可以创buildcygwin进程,但是我不得不在cygwinterminal中编写bpython来使其工作。 所以,我想知道是否可以直接传递bpython作为F:\cygwin\Cygwin.bat一个argument F:\cygwin\Cygwin.bat bpython 可以直接打开bpython的shell。 或者是有可能的 1)首先在subprocess进程模块的帮助下创buildcygwin进程。 2)比我传递bpython作为一个参数。 上面的任务都是由python程序完成的,所以最终的结果是bpython shell。 which bpython输出

无法获得一个基本的C ++程序在Windows 8上的Cygwin编译

我是Cygwin,Windows和C ++的新手,请耐心等待。 这里是C ++程序(try.cpp)我想用Cygwin编译。 #include<iostream> using namepsace std; int main(void) { cout<<"Trying out CPP"<<endl; return 0; } 这里是我使用的Cygwin的版本(在cygwinterminal上使用uname -r获得): 1.7.17(0.262/5/3) 这里是我用来编译我的程序的命令: g++ try.cpp 这里是我得到的错误: $ g++ try.cpp try.cpp:2: error: expected nested-name-specifier before "namepsace" try.cpp:2: error: `namepsace' has not been declared try.cpp:2: error: expected `;' before "std" try.cpp:2: error: expected constructor, destructor, or type conversion before […]

删除shell脚本中的分支,以便在Cygwin中运行良好

我试图在Cygwin的Windows上运行一个shell脚本。 我遇到的问题是它在下面的代码段中运行速度非常慢。 从Google的一点点,我相信这是由于在脚本中有大量的fork()调用,而且windows必须使用Cygwins来模拟这个,所以它只是慢慢地爬行。 一个典型的情况是在Linux中,脚本将在<10秒内完成(取决于文件大小),而在同一个文件的Cygin上的Windows将需要将近10分钟….. 所以问题是,我如何删除这些叉子中的一些,并仍然有脚本返回相同的输出。 我并不期待奇迹,但我想把这10分钟的等待时间削减一点点。 谢谢。 check_for_customization(){ filename="$1" extended_class_file="$2" grep "extends" "$filename" | grep "class" | grep -v -e '^\s*<!–' | while read line; do classname="$(echo $line | perl -pe 's{^.*class\s*([^\s]+).*}{$1}')" extended_classname="$(echo $line | perl -pe 's{^.*extends\s*([^\s]+).*}{$1}')" case "$classname" in *"$extended_classname"*) echo "$filename"; echo "$extended_classname |$classname | $filename" >> "$extended_class_file";; esac done } 更新 […]

用于在Windows中创build和运行Shell脚本的Cygwin包

我刚开始学习Unix shell脚本。 我使用Windows XP。 只是想知道哪些所有Cygwin包我需要安装在Windows中运行bash脚本和命令。 谢谢

编译Python写入程序文件

我写了一个程序,创build了几个sqlite3数据库临时文件。 在开发中,我只是将它们存储在与src包相同的文件夹中的一个文件夹中。 当代码被编译并从程序文件运行时,我忽略了你需要pipe理员权限的事实。 (我知道程序文件中的临时文件也是不好的做法) 问题是:没有问题。 我没有得到一个IOError: [Errno 13] Permission denied:或任何forms的警告。 此外,如果我去应该有临时文件的文件夹,没有任何。 如果我添加一行 print os.path.exists(r'C:\Program Files (x86)\ProgramName\temp\filename.db') 要么 print os.listdir(r'C:\Program Files (x86)\ProgramName\temp') 到我的程序,它显示文件在那里,但不存在于资源pipe理器,cmd或闲置。 但是,他们确实在cygwin中出现。 我已经显示隐藏的文件/文件夹,他们不显示。 如果我使用资源pipe理器复制临时文件夹,文件不会一起标记。 如果我使用cygwin复制文件夹,他们可以。 他们也成为可见的探险家。 有没有其他人经历过这个或知道发生了什么?