![在 bash 中针对各种操作系统和硬件的适当方法是什么?](https://linux22.com/image/1596616/%E5%9C%A8%20bash%20%E4%B8%AD%E9%92%88%E5%AF%B9%E5%90%84%E7%A7%8D%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%92%8C%E7%A1%AC%E4%BB%B6%E7%9A%84%E9%80%82%E5%BD%93%E6%96%B9%E6%B3%95%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
目前我基本上在做这样的事情:
if [[ "$OSTYPE" == "linux-gnu" ]]; then
echo "a"
elif [[ "$OSTYPE" == "darwin"* ]]; then
echo "b"
elif [[ "$OSTYPE" == "cygwin" ]]; then
echo "c"
elif [[ "$OSTYPE" == "msys" ]]; then
echo "d"
elif [[ "$OSTYPE" == "win32" ]]; then
echo "e"
elif [[ "$OSTYPE" == "freebsd"* ]]; then
echo "f"
else
echo "g"
fi
这可能适用于主要的 3 个系统(mac、windows、linux),但对于 raspberry 或 raspberry 裸机或其他自定义操作系统呢?有没有办法检查架构,通常这样做/是否足够?你真的可以编写针对特定目标的程序吗?建筑学而不是操作系统?我是这方面的新手,基本上想知道是否有办法编写 bash 脚本和 C,使其可以在裸机或其他仍使用 x86 或 arm 的晦涩系统上运行。