我正在使用安装了GIT的Windows 7。 我有一个bash脚本,我创建了为我做一些解密。当我打开一个git bash终端并运行它时,运行正常。此脚本需要用户输入(可能)。它会提示用户输入一个字符串,然后尝试解密它。
我想在桌面上制作一个图标,我可以双击它,它会运行。这是通过创建以下bat文件来完成的:
"C:\Program Files\Git\bin\bash.exe" -i C:\Mybin\mydecrypt
这很好用。问题是,它仍然在CMD.EXE中执行。我选择并复制了我要解密的字符串(非常冗长和复杂),但是当我进入cmd窗口时,现在有办法(我可以弄明白)如何粘贴它。 我想在另一个窗口打开它。
从bash窗口执行 echo $ TERM 显示“xterm”。所以我尝试了(并且真的不相信它会起作用,但它没有)在bat文件的第一行添加“set TERM = xterm”。正如我所想,这不起作用。它说这个术语是XTERM,但显然是cmd.exe。我没有找到bash.exe的任何参数来指定终端类型。我无法在任何地方找到我的PATH中的xterm。所以我想知道如何做到这一点,以便在我可以粘贴文本的终端类型中打开它。有任何想法吗?我没有管理员权限所以我无法安装任何东西。
作为一个相关的问题,我的脚本使用java,如你所知,Windows上的Java是 在“/ c / Program Files / Java / jdk1.8.0_144”中,Program和Files之间有一个空格(为什么Microsoft允许目录名中的空格,我永远不会知道)。这不是我路径中的第一个java,所以我尝试了以下三种方式,其中没有一种方法有效:
/c/Program Files/Java/jdk1.8.0_144/bin/java -jar c:/MyBin/crypt.jar
"/c/Program Files/Java/jdk1.8.0_144/bin/java" -jar c:/MyBin/crypt.jar
/c/Program\ Files/Java/jdk1.8.0_144 -jar c:/MyBin/crypt.jar
没有一个奏效。我终于去了MyBin做了一个
ln -s "/c/Program Files/Java/jdk1.8.0_144/bin/java" myjava
然后
myjava -jar c:/MyBin/crypt.jar
但应该有一种方法来指定文件名中的空格。
任何想法都会非常感激。