如何根据其他命令输出创建文件或文件夹

如何根据其他命令输出创建文件或文件夹

我正在编写一个脚本来远程配置基于linux的路由器。第一步是获取我想要的设备的序列号:

  1. 创建与序列号同名的文件夹
  2. 创建一个包含序列号的文本文件
  3. 将包含此序列号的行放入配置文件中

任务 2 是最简单的 - mnf_info -s > sn.txt,但是我如何提取实际名称并将其传递给 do mkdirsed然后呢?

另外,您知道如何在没有任何交互的情况下远程更改密码吗?我在该设备上没有期望命令,所以我必须这样做。有任何想法吗?

提前致谢

克日什托夫

答案1

您可以通过保存命令的输出variable=$(command)。所以在你的情况下:

serial="$(mnf_info -s)"
mkdir "$serial"
echo "$serial" > "$serial"/sn.txt

现在,如果您想远程运行本地保存的脚本,您可以将上述行(本地)保存在 中myscript,然后使用

ssh [email protected] "bash" <myscript

答案2

ssh $i <<'EOF'
ser=$(mnf_info -s)
mkdir $ser
mnf_info -s >sn.txt
sed -i '1i $ser'  configfile
EOF

Here we saving serial number in variable and later using to creating directory and add variable content in config file

This may help you

相关内容