如何在macOS上管道到与Bash脚本相同的目录中的程序?

时间:2018-02-02 19:07:55

标签: bash macos

我已经编写了一个删除文件然后运行xpinstall.signatures.required的Bash脚本。它在Windows上的mingw64 Bash中运行良好,但在macOS上的Bash失败。

我的脚本在脚本所在的目录中附带了自己的sqlite3副本。

sqlite3

输出:

  

compy:编程我$ ./Run-Bash.sh
  :命令未找到2:sqlite3
  cat:SqliteCommands.txt:没有这样的文件或目录

我记得要在当前目录中运行一个程序,你需要在其前面添加rm -f Input.sqlite cat SqliteCommands.txt | sqlite3 ,所以我将其更改为:

./

...奇怪地让我得到这个错误输出(逐字)。我不知道为什么它删除了" sql"文件名的一部分,这很奇怪。

  

:没有这样的文件或directorylite3
  cat:SqliteCommands.txt:没有这样的文件或目录

由于macOS附带了自己的cat SqliteCommands.txt | ./sqlite3 副本,我将其更改为使用完整路径,但由于macOS附带旧版本,这意味着我必须将sqlite3更改为兼容,而不是#39;理想。

SqliteCommands.txt

那么如何在与脚本相同的目录中输出可执行文件?

1 个答案:

答案 0 :(得分:-2)

我不确定,但试试这个:

sqlite3 "$(cat SqliteCommands.txt)"

cat SqliteCommands.txt | xargs -I {} sqlite3 {}