gpt4 book ai didi

Linux shell 脚本 - 破折号的字符串修剪

转载 作者:太空宇宙 更新时间:2023-11-04 09:21:56 24 4
gpt4 key购买 nike

我试图从我的 Raspberry Pi 获取 mac 地址,将 mac 的最后 6 个字符用作主机名和固定字符串。

这是到目前为止我从其他来源获得的成果,但我现在完全无法尝试削减字符串。

#!/bin/sh -e

MAC="$( sed "s/^.*macaddr=\([0-9A-F:]*\) .*$/\1/;s/://g" /proc/cmdline )"

MAC1="${MAC??????%}"

echo "$MAC1"

Pi 使用的 shell 似乎是 Dash,因此可以立即完成此操作的常用 BASH 命令无法正常工作,或者在脚本中运行时似乎会产生错误。

我在 rc.local 中使用的完整脚本如下。

任何关于如何做到这一点的建议都会受到极大的欢迎。

MAC="pi""$( sed "s/^.*macaddr=\([0-9A-F:]*\) .*$/\1/;s/://g" /proc/cmdline )"
echo "$MAC" > "/etc/hostname"
CURRENT_HOSTNAME=$(cat /proc/sys/kernel/hostname)
sed -i "s/127.0.1.1.*$CURRENT_HOSTNAME/127.0.1.1\t$MAC/g" /etc/hosts
hostname $MAC

最佳答案

如果你的 Pi 上有 cut 命令,你可以做

MAC1=$( echo $MAC | cut -c 7-12 )

关于Linux shell 脚本 - 破折号的字符串修剪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40890690/

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