我正在寻找一种实用程序/方法来将第 3 部分应用程序(例如具有嵌入式编译器)安装到其自己的隔离环境中,包括注册表。在 Mac OS XI 上使用自制软件来实现这一点。作为 Mac 转换者,我意识到这两个操作系统有很大的不同,但是看到这有多大用处,我希望它也可以在 Windows 中实现。我即将拥有一台新计算机,因此我将有一个全新的干净安装,我想利用它。
目前的想法
到目前为止我已经研究了两种解决方案:
buildout:主要用于管理 Python 安装,一般不适用。
Sandboxie:旨在用作威慑恶意软件,但它不允许我安装同一应用程序的两个版本。所以我需要它既是一个孤立的环境,又是一个可以在两者之间切换的工作环境。
更新
我给了Cameyo一个机会,并想报告它对于普通应用程序确实很好用。我在 ST Visual Develop and Ride 7(兼容 STM8 的 IDE)上试用了它,它们打开并运行良好。我将它们打包在 Visa 32bit 上,然后在 Win 7 64bit 上运行它们,完全没有问题。 但是,诸如编译器之类的命令行工具并没有那么好用。我怀疑是因为 CLI(命令行界面)工具嵌入在虚拟 exe 中,到目前为止,我无法在 IDE 中指向它们的位置。如果 IDE 无法调用编译器,它们就毫无用处。
我将继续研究这一点并报告任何变化。
我不是在问如何更改 mac OS X 终端窗口的路径。
我遇到了这个问题,我希望能够通过单击启动。如果我在终端窗口中打开它,它确实有效(因为路径设置正确)。
我曾尝试向其中添加路径变量,~/.MacOSX/environment.plist但无济于事。
如何在 Mac OS X 中更改当前用户的路径?
我希望能够设置自定义提示(为了帮助自动化作业,提示应该是我可以可靠地检测到的)。我发现我可以远程设置提示,如下所示:
wim@wim-acer:~$ ssh guest@192.168.1.124 -i ~/.ssh/guest_nopassphrase
~ # echo $PS1
\w \$
~ # PS1='Setting a custom prompt \w \$ '
Setting a custom prompt ~ # exit
Connection to 192.168.1.124 closed.
Run Code Online (Sandbox Code Playgroud)
首先,有没有办法通过使用不同的 ssh 命令一次性完成?我在回答相关问题时尝试的建议对我不起作用:
wim@wim-acer:~$ ssh guest@192.168.1.124 -i ~/.ssh/guest_nopassphrase -t "PS1='Sending a custom prompt \w \$ '; exec sh"
~ # set
HOME='/var/tmp'
IFS='
'
LOGNAME='guest'
PATH='/sbin:/usr/sbin:/bin:/usr/bin'
PPID='1039'
PS1='\w \$ '
PS2='> '
PS4='+ '
PWD=''
SHELL='/bin/sh'
TERM='xterm'
USER='guest'
Run Code Online (Sandbox Code Playgroud) 我的 crontab 中有这个:
PATH=/usr/bin:/usr/local/bin:$PATH
*/1 * * * * /usr/bin/env bash > ~/cron.log 2>&1
Run Code Online (Sandbox Code Playgroud)
中的输出cron.log如下:
/usr/bin/env bash: No such file or directory
Run Code Online (Sandbox Code Playgroud)
/usr/bin/env以及/bin/bash两者都存在。我还可以从该 crontab 所属的同一用户运行此命令,不会出现任何错误。我也尝试添加
SHELL=/bin/bash
Run Code Online (Sandbox Code Playgroud)
到 crontab 的顶部。没有效果。不知道发生了什么事。还有这个:
*/1 * * * * which bash > ~/cron.log 2>&1
Run Code Online (Sandbox Code Playgroud)
日志文件中根本没有显示任何内容。这就是我在 crontab 中为该用户提供的所有内容,仅此而已。