我正在创建一个需要安装几个应用程序的BASH脚本。
我面临的问题是Homebrew安装在非标准位置时。因为这个脚本在Playtypus中运行,所以我必须使用完整路径到Homebrew。
因此问题是:如何可靠地在BASH脚本中获取Homebrew的安装路径?
ffmpeg
和sox
为了确保它们在我的脚本运行时已经安装好,我首先检查Homebrew的安装情况:#!/bin/bash
which -s brew
if [[ $? != 0 ]] ; then
# Install Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
fi
然后我检查是否已安装 sox
和 ffmpeg
:
echo "---- checking for sox ----"
which -s sox || /usr/local/bin/brew install sox
echo "---- checking for ffmpeg ----"
which -s ffmpeg || /usr/local/bin/brew install ffmpeg
我面临的问题是Homebrew安装在非标准位置时。因为这个脚本在Playtypus中运行,所以我必须使用完整路径到Homebrew。
因此问题是:如何可靠地在BASH脚本中获取Homebrew的安装路径?
which
的标准输出并在其结果上使用grep/awk/正则表达式吗? :) 或者直接将它作为管道。 - user1467267var=$(which -s brew)
的东西? - user1467267