用主机名命名txt文件

eli*_*is1 3 shell

一个简单的问题:

我有这个:

hostname > test.txt
fdesetup status >> test.txt
Run Code Online (Sandbox Code Playgroud)

我如何让它实际将.txt文件命名为计算机的主机名?

例子:

computer1234 是主机名,因此 txt 文件将被创建为 computer1234.txt

Sté*_*las 8

POSIXly:

fdesetup status > "$(uname -n).txt"
Run Code Online (Sandbox Code Playgroud)

一些 shell 使主机名在变量中随时可用:

  • tcsh/ zsh:fdesetup status > "$HOST.txt"
  • bashfdesetup status > "$HOSTNAME.txt"

tcshzsh提示扩展也有%m机器名直到第一个.(对于那些主机名仍然包含域部分的系统)。在 中zsh,您可以在脚本中使用${(%):-%m}. 一些系统有一个hostname 命令,它接受-s选项(简称)来让你得到同样的东西。