UNIX "/usr/bin/script" 命令将创建您的 shell 会话的运行脚本(有关更多信息,请参见“man script”)。
但是,当在脚本实例中时,它似乎忘记了父 shell 的环境变量、别名等。
以下示例演示了我定义的“ll”别名如何在“脚本”中被忽略:
zsh> mkdir temp
zsh> cd temp
zsh> alias "ll=ls -alF"
zsh> ll
total 24
drwxr-xr-x 2 me mygroup 4096 Feb 18 13:32 ./
drwxr-xr-x 28 me mygroup 8192 Feb 18 13:32 ../
zsh> script a.out
Script started, file is a.out
$ ll
zsh: command not found: ll
$ exit
Script done, file is a.out
zsh> ll
total 32
drwxr-xr-x 2 me mygroup 4096 Feb 18 13:32 ./
drwxr-xr-x 28 me mygroup 8192 Feb 18 13:32 ../
-rw-r--r-- 1 me mygroup 182 Feb 18 13:32 a.out
那么,如何让“脚本”进程从父 shell 继承环境设置?
[编辑:] 好的,环境变量不会被遗忘。只是别名。重新采购 .profile 或其他东西会起作用......但我怎样才能让它自动发生?