gpt4 book ai didi

bash - 我试图在 Linux 中将 MAC 地址作为变量获取,但它很少起作用

转载 作者:行者123 更新时间:2023-11-29 08:53:33 28 4
gpt4 key购买 nike

我正在使用以下代码将 eth0 的 MAC 地址放入一个变量中以用于文件名,但它很少能奏效。并不是说它永远不会起作用,它只是不可预测。

ntpdate -b 0.centos.pool.ntp.org
DATE=$(date +%s)
MAC=$(ifconfig eth0 | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}' | sed 's/://g')
cp logfile logfilecp-$MAC-$DATE

现在,如果我使用 ntpdate 行,它的工作频率似乎会降低,但无论如何,它是完全不可预测的。任何人都知道我可以做些什么来使这项工作更好?我最终得到了一个像

这样的文件名
logfile--1375195808.bz2

新信息

我已将脚本设置为作为 cronjob (crontab -e) 运行。我注意到当它作为 cronjob 运行时,它没有获得 MAC,但是当我手动运行它时 ./runscript.bash 它确实获得了 MAC。希望有人知道为什么这可能会导致它。

谢谢。

最佳答案

尝试一种比通过 ifconfig 更简单的方法来获取 mac 地址,即

cat /sys/class/net/eth0/address

我已经在 shell 中(不是通过脚本)对其进行了测试,效果非常好:

TEST=`cat /sys/class/net/eth0/address`
touch /tmp/blabla-$TEST

编辑你的第二个问题

在你的 cron 脚本中,添加你正在使用的二进制文件的完整路径(即/sbin/ifconfig),或者使用我上面的方法:)

关于bash - 我试图在 Linux 中将 MAC 地址作为变量获取,但它很少起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17950405/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com