在文件夹中创建文件,然后使用 SSH 写入该文件

在文件夹中创建文件,然后使用 SSH 写入该文件

我正在尝试编写一个脚本,该脚本使用 SSH 创建一个新目录并在其中写入文本文件。我在网络上有 1 个主节点,然后有 3 个节点我想在其上创建目录。这 4 台机器托管在 VMware 上。

#node1
ssh [email protected] 'sudo touch /temp_dirname/host.txt'
ssh [email protected] 'echo "node1" | sudo tee /temp_dirname/host.txt'

#node2
ssh [email protected] 'sudo touch /temp_dirname/host.txt'
ssh [email protected] 'echo "node1" | sudo tee /temp_dirname/host.txt'

#node3
ssh [email protected] 'sudo touch /temp_dirname/host.txt'
ssh [email protected] 'echo "node1" | sudo tee /temp_dirname/host.txt'

当我运行这个程序时,每个节点都会得到不同的错误......对于节点 1 和 2,我得到

touch: cannot touch '/temp_dirname/host.txt': no such file or directory

tee: temp_dirname/host.txt: no such file or directory

在节点 3 上我得到:

touch: setting times of '/temp_dirname/ no such file or directory

tee: temp_dirname/host.txt: no such file or directory

我对此感到非常困惑,因为我认为touch创建了文件 - 那么为什么没有这样的文件或目录。

答案1

如果/temp_dirname不存在,您可以使用 创建它mkdir -p /temp_dirname

-p适用于任意深度,根据需要创建目录。

相关内容