bash - 如何使用 shell 脚本知道运行代码的当前服务器名称?

标签 bash shell unix hostname

我有一个 shell 脚本代码,它可以在 6 台服务器中的任何一台上运行,并更新一个文件。但是我需要维护一个公共(public)文件以获取文件中的最新更改并对最新文件应用某些逻辑。那么,我想知道它在那个特定时刻运行的当前服务器名称?

这是我的代码,我已经修复了一个 abc.com 服务器我的公共(public)服务器,我在其中保存文件,下次我从中检索文件。但我还需要当前服务器名称,因为有些操作需要基于当前服务器完成。所以,我只想添加一行代码,返回运行它的当前服务器。

#!/bin/bash
# This code copies the file with latest changes to a common location.

server_name=abc.com

# backlog.txt is my file name
echo - removing the old files , if any
rm $server_name:/home/backlog.txt

echo "$server_name to copy the file"

scp /location/backlog.txt $server_name:/home/

echo "Copy complete."

exit 0

还有这个:

#!/bin/bash
# This code copies back the common file from common server location "abc" and then make the changes into it. As I always need to work on the latest file.

server_name=abc.com

echo - removing the old files , if any
rm /location/backlog.txt

echo "Copying the files from $server_name to local server..."

scp $server_name:/home/backlog.txt /location/

echo "Copy Complete"

exit 0

最佳答案

hostname 实用程序通常可以满足您的需求。

关于bash - 如何使用 shell 脚本知道运行代码的当前服务器名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33564888/

相关文章:

bash - Windows 10 的 Linux 子系统中的 apt 失败并显示 404 Not Found

unix - 'find -delete' 和 'rm -rf' 之间的区别?

linux - 自定义后如何调试Shell命令

unix - 将 Unix 路径转换为 ​​DOS 路径

linux - 更改 while 循环内的变量

bash - 如何一次退出多个嵌套的shell?

linux - cd 不在目录上工作

git fetch --quiet 正在写入标准输出而不是保持沉默

linux - sed 用空格和特殊字符替换字符串

linux - 测试rpm安装脚本