【发布时间】:2016-07-03 23:43:56
【问题描述】:
我有一个 Windows 批处理脚本,我使用 SETLOCAL 仅为该会话设置路径变量。该命令脚本是否有 Mac 等效项?
【问题讨论】:
我有一个 Windows 批处理脚本,我使用 SETLOCAL 仅为该会话设置路径变量。该命令脚本是否有 Mac 等效项?
【问题讨论】:
在 Unix shell(例如 Mac OS X 上的 bash 或 sh)中,在 shell 脚本中设置的所有变量都不会在 shell 脚本结束后继续存在。这意味着 SETLOCAL 已经是标准行为。事实上,脚本本身不可能实现非 SETLOCAL 行为(但 shell 的启动器仍然可以命令 shell 在当前 shell 中运行脚本,使用 'source' 命令具有该行为)。
要使从该会话启动的程序可见该变量,您必须导出该变量:
export BAR=1
【讨论】:
Unix/Mac 等价的命令是 export 命令:
export FOO=1
http://www.cyberciti.biz/faq/linux-unix-shell-export-command/
【讨论】: