bry*_*edy 11 linux bash freebsd
我正在研究一些我希望在我的Linux和FreeBSD系统上工作的bash脚本.
因为我主要在Linux工作,所以我习惯用它来启动我的bash脚本
#!/bin/bash
Run Code Online (Sandbox Code Playgroud)
但是由于bash存在,这对FreeBSD无效/usr/local/bin/bash.所以在FreeBSD上我的脚本需要从头开始
#!/usr/local/bin/bash
Run Code Online (Sandbox Code Playgroud)
那么我可以使用其他可以跨两个系统移植的东西吗?我宁愿不维护两个版本的脚本.
Bri*_*new 18
#!/usr/bin/env bash
Run Code Online (Sandbox Code Playgroud)
应该这样做,只要bash在某个地方的路径上.有关详细信息,请参见此处
小智 6
老实说,如果你想要可移植性,请调用/ bin/sh和代码到POSIX.它不那么漂亮,但如果你这样做,你会遇到更少的潜在问题.