0

我有一个名为 carmel 的程序,我可以通过以下方式从命令行运行它:

carmel -h

或我选择的任何后缀。加载文件时,我可以说:

carmel fsa1.fstfsa1.fst位于我的血红素文件夹中,/Users/adam/.

我希望将默认文件位置设置为,例如,/Users/adam/carmel/files并且不希望每次都输入它。carmel当我键入然后查看该位置时,有没有办法让 UNIX 知道?

4

1 回答 1

1

这种行为没有标准的 Unix 快捷方式。一些应用程序将检查环境变量以查看其文件的位置。但是在carmel/src/carmel.ccGitHub 上查看,我会说你必须编写一个包装脚本。像这样:

#!/usr/bin/env bash
# Save as ${HOME}/bin/carmel and ensure ${HOME}/bin is before
# ${carmel_bin_dir} in your ${PATH}. Also ensure this script
# has the executable bit set.

carmel_bin_dir=/usr/local/bin # TODO change this?
working_directory=${CARMEL_HOME-${HOME}/carmel/files}

if [[ ! -d "${working_directory}" ]]; then
    echo "${working_directory} does not exist. Creating."
    mkdir -p "${working_directory}" || echo "Failed to create ${working_directory}"
fi

pushd "${working_directory}"
echo "Launching ${carmel_bin_dir}/carmel ${@} from $(pwd)..."
${carmel_bin_dir}/carmel ${@}
popd

或者,由于源是免费提供的,您可以添加一些代码来阅读${CARMEL_HOME}(或类似的)并将其作为拉取请求提交。

祝你好运!

于 2013-02-18T21:22:10.690 回答