【发布时间】:2023-04-02 17:17:01
【问题描述】:
我有一个这样的文件(text.txt):
ls -al
ps -au
export COP=5
clear
每一行对应一个命令。在我的脚本中,我需要阅读每一行并启动每个命令。
ps:我尝试了所有这些选项,但在使用“export”命令时,我遇到了同样的问题。文件中有“export COP=5”,但运行脚本后,如果我在同一个终端中回显$COP,则不会显示任何值
【问题讨论】:
-
如果你不知道这个文件来自哪里,你最好注意在
chroot'ed环境中运行 -
如果他不知道文件来自哪里,他根本不应该执行它。 Chrooting 只是一个基本的保护层,你不能相信它。
-
关于“ps”:(普通)脚本中定义的变量永远不会应用于父 shell,即使在导出时也是如此(export 将它们标记为导出到子进程;没有办法导出到父进程)。如果要在脚本中定义变量并在脚本完成后仍然定义它们,则需要使用
source运行脚本,而不是作为普通脚本运行。