我目前正在处理一个文本到语音转换项目,我需要编写bash脚本,当它被调用时,它会执行两个命令。如果第一个命令返回正确的答案(如果返回一个答案(,则将调用并执行第二个命令。
我的问题是,如何编写脚本,在特定的特定文件系统位置执行 shell 命令?
例如,我需要在目录中/opt/text/example
并执行以下命令:
sudo ./bin/sample_read -I ../languages/ -I ../languages -v dave -T 2
-i /opt/text/example.txt -F 22 -O embedded-pro -o out_file.pcm
然后等待答案,然后(如果很好(执行第二个命令。
第二个命令是
aplay -f S16_LE -r 22050 -c 1 out_file.pcm
这应该有帮助:
pushd /path/to/directory
my_var=$(command1)
if [ "$my_var" == "expected_result" ]; then
command2
fi
popd
您基本上运行 command1 并将其输出存储在 my_var
中。然后,您将$my_var
的内容与您期望的内容进行比较。
此外,pushd <path>
/popd
允许您移动到目录并返回。