Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 我的脚本如何从配置文件中设置参数_Linux_Expect - Fatal编程技术网

Linux 我的脚本如何从配置文件中设置参数

Linux 我的脚本如何从配置文件中设置参数,linux,expect,Linux,Expect,我正在将expect文件自动写入scp文件。但我每次做的就是在终端中输入主机和密码。另一种方法是用硬编码的方式设置密码。我想知道是否有办法从我笔记本电脑上的文件中读取配置。与其他人共享脚本会更好。首先,看看您是否可以为我们设置到服务器的无密码连接(联系服务器管理员,查看您的ssh-keygen和ssh-copy-id手册页) 否则,将登录凭据写入光盘的安全性很差,但有时不可避免。确保您没有为其他人授予文件读/写权限(chmod 600 config_文件) 假设您想要一个包含以下内容的配置文件:

我正在将expect文件自动写入scp文件。但我每次做的就是在终端中输入主机和密码。另一种方法是用硬编码的方式设置密码。我想知道是否有办法从我笔记本电脑上的文件中读取配置。与其他人共享脚本会更好。

首先,看看您是否可以为我们设置到服务器的无密码连接(联系服务器管理员,查看您的
ssh-keygen
ssh-copy-id
手册页)

否则,将登录凭据写入光盘的安全性很差,但有时不可避免。确保您没有为其他人授予文件读/写权限(
chmod 600 config_文件

假设您想要一个包含以下内容的配置文件:

set host hostname
set user username
set pass "user password"
然后,只需编写脚本
source
文件,即可在Tcl解释器中设置这些变量

为了安全起见,如果文件被一些恶意命令破坏,您可以使用Tcl“安全解释器”

interp创建-安全safeInterp
safeInterp invokehidden源$configFile
#从安全interp中提取变量
lassign[safeInterp eval{list$host$user$pass}]主机用户pass
生成scp$user@$host:/path/to/remote/file/local/file
...

由于你的问题太广泛,而且没有明显的努力自己解决,所以你获得了一些反对票。请阅读以下内容和其他问题: