外壳脚本 - 删除部分字符串。找不到文件



我有一个非常简单的shell脚本。 它读起来是这样的。

#!/bin/bash
echo upload trigram
bteq < load_temp_trigram
echo load bigram
bteq < load_temp_bigram
echo load word
bteq < load_temp_word
echo load phrase
bteq < load_temp_phrase

我收到以下错误,然后脚本执行以下命令

: command not found
upload trigram
: No such file or directoryigram
: command not found
load bigram
: No such file or directorygram
: command not found
load word
: No such file or directoryord
: command not found
load phrase

我用 bash script.sh 或 sh script.sh 来称呼脚本。

因此,看起来它无法识别 echo 命令,即使它似乎有效。 它正在切断字符串/文件的各个部分 - 这可能就是它找不到它们的原因。 我不知道这里发生了什么。 任何帮助将不胜感激。

1)像这样将 -x 添加到 shell 中

#!/bin/bash -x

它通常会减少问题的数量。

2)如果要文本输出,请使用引号喜欢这个

echo "upload trigram"

3) 使用可执行文件的绝对路径喜欢这个

/usr/bin/bteq 
可以通过

执行

which bteq

(如果你幸运的话,并且有一个安装的)SQL 批处理文件也是如此

/path/to/td_bins/bteq < /path/to/batch/load_temp_word

如果您在包含批处理文件的文件夹中,则它的相对路径将./

相关内容

  • 没有找到相关文章

最新更新