我有一个名为 carmel 的程序,我可以通过以下方式从命令行运行它:
carmel -h
或我选择的任何后缀。加载文件时,我可以说:
carmel fsa1.fst
fsa1.fst
位于我的血红素文件夹中,/Users/adam/
.
我希望将默认文件位置设置为,例如,/Users/adam/carmel/files
并且不希望每次都输入它。carmel
当我键入然后查看该位置时,有没有办法让 UNIX 知道?
这种行为没有标准的 Unix 快捷方式。一些应用程序将检查环境变量以查看其文件的位置。但是在carmel/src/carmel.cc
GitHub 上查看,我会说你必须编写一个包装脚本。像这样:
#!/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}
(或类似的)并将其作为拉取请求提交。
祝你好运!