程序可以在终端上正常运行,但不能在Shell脚本中运行

K

我在Linux Mint上。

我有一个名为samtools的程序,它存储在桌面上的文件夹中。我已经将可执行文件的路径添加到$ PATH变量中。换句话说,我的本地〜/ .bashrc文件中有一行:

export PATH="~/Desktop/samtools/samtools-1.1:$PATH"

名为samtools的可执行文件在此文件夹中。

因此,当我尝试从命令行(如简单命令)启动它时,只需键入“ samtools”即可。当我在命令行中键入可执行文件的直接路径时,它也起作用。

但是,当我尝试从shell脚本启动它时,它不会启动,并说没有找到这样的文件或目录。

实际上,我正在尝试使用另一种使用一些Shell脚本预处理某些数据的软件。我得到的错误看起来像这样:

Indexing...
./RD_capture//process_one_capture.sh: 17: ./RD_capture//process_one_capture.sh: samtools: not found
 Sorting...
 ./RD_capture//process_one_capture.sh: 20: ./RD_capture//process_one_capture.sh: samtools: not found
 Piling up...
./RD_capture//process_one_capture.sh: 23: ./RD_capture//process_one_capture.sh: samtools: not found

Shell代码如下所示:

echo "Indexing..."
samtools index $INPUTDIR/$sample.bam
#Then we sort them
echo "Sorting..."
samtools sort $INPUTDIR/$sample.bam $TMPDIR/$sample.sorted
#Finally we pile them up
echo "Piling up..."
samtools mpileup $TMPDIR/$sample.sorted.bam | cut -f 1-4 > $OUTPUT/$(basename $sample .bam).pile

谁能帮我解决这个问题?

Ganesh Kamath-“疯狂代码”

看来Linux无法找到samtools

解决此问题的方法:在开始时声明此问题(更改pwd从导致可执行文件的路径pwd

export set CURRENT_DIR=`pwd`

并在调用samtools时使用

$CURRENT_DIR/samtools

注意1:当shell脚本从执行时,您有责任告知shell脚本的确切路径/usr/bin/sh尝试使用命令在控制台上回显路径,如果这样做没有帮助,如下所示:

echo `pwd`

注意2:上方反引号的使用位于键盘左上角。

注3:export set使用全局变量存储在一个shell脚本,所以这个命令后出现的命令可以使用这个变量和以往任何时候都需要的时候对其进行更新。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

程序可以在终端上正常运行,但是不能在Shell脚本中运行

来自分类Dev

脚本可以在CentOS上正常运行,但不能在RHEL5上运行

来自分类Dev

Zapier Cli-应用程序可以在Cli中正常运行,但不能在Zapier UI中运行

来自分类Dev

Sencha触摸测试应用程序可以在Firefox中正常运行,但不能在Chrome,iOS或Android中运行

来自分类Dev

部署在STS中的Spring Boot应用程序可以正常工作,但不能在IntelliJ Idea中运行

来自分类Dev

拖放可以在IE上正常运行,但不能在Chrome / Firefox中运行

来自分类Dev

asp.net中的计时器可以在localhost正常运行,但不能在线运行

来自分类Dev

脚本可以在实时服务器上正常运行,但不能在wamp上

来自分类Dev

带有Paramiko的Python SSHTunnel-CLI可以运行,但不能在脚本中运行

来自分类Dev

命令可以正常运行,但不能从bash脚本运行

来自分类Dev

用c编写的程序可以在Windows中双击运行,但不能在linux中运行

来自分类Dev

Python - 程序可以在 Linux 中运行,但不能在 Windows 中运行

来自分类Dev

该应用程序可以在AVD上正常运行,但不能在真实设备上

来自分类Dev

fdisk命令在终端上运行,但不能与ruby脚本一起运行

来自分类Dev

fdisk命令在终端上运行,但不能与ruby脚本一起运行

来自分类Dev

为什么我的Android程序可以在4.4.3版本上正常运行,但不能在10.0上运行

来自分类Dev

脚本可以在终端上运行,但在使用PHP时不能运行

来自分类Dev

JavaScript警报可以在Firefox上正常运行,但不能在Chrome和资源管理器中运行

来自分类Dev

asp.net中的计时器可以在localhost上正常运行,但不能在线运行

来自分类Dev

可在Shell中运行,但不能作为程序运行?

来自分类Dev

控制器可以在本地正常运行,但不能在heroku上运行

来自分类Dev

jQuery代码可以在localhost上正常运行,但不能在服务器上运行

来自分类Dev

LibGDX游戏可以在桌面上正常运行,但不能在Android设备上运行

来自分类Dev

Python在IDLE中运行,但不在终端上运行?

来自分类Dev

TLSv1.2的curl可以在客户端上运行,但不能在服务器上运行

来自分类Dev

用户脚本通知可以在Chrome上运行,但不能在Firefox上运行?

来自分类Dev

Powershell脚本逐行在Powershell窗口上运行,但不能在脚本中运行

来自分类Dev

Powershell脚本逐行在Powershell窗口上运行,但不能在脚本中运行

来自分类Dev

wget 在终端中工作但不能在 shell 脚本中工作

Related 相关文章

  1. 1

    程序可以在终端上正常运行,但是不能在Shell脚本中运行

  2. 2

    脚本可以在CentOS上正常运行,但不能在RHEL5上运行

  3. 3

    Zapier Cli-应用程序可以在Cli中正常运行,但不能在Zapier UI中运行

  4. 4

    Sencha触摸测试应用程序可以在Firefox中正常运行,但不能在Chrome,iOS或Android中运行

  5. 5

    部署在STS中的Spring Boot应用程序可以正常工作,但不能在IntelliJ Idea中运行

  6. 6

    拖放可以在IE上正常运行,但不能在Chrome / Firefox中运行

  7. 7

    asp.net中的计时器可以在localhost正常运行,但不能在线运行

  8. 8

    脚本可以在实时服务器上正常运行,但不能在wamp上

  9. 9

    带有Paramiko的Python SSHTunnel-CLI可以运行,但不能在脚本中运行

  10. 10

    命令可以正常运行,但不能从bash脚本运行

  11. 11

    用c编写的程序可以在Windows中双击运行,但不能在linux中运行

  12. 12

    Python - 程序可以在 Linux 中运行,但不能在 Windows 中运行

  13. 13

    该应用程序可以在AVD上正常运行,但不能在真实设备上

  14. 14

    fdisk命令在终端上运行,但不能与ruby脚本一起运行

  15. 15

    fdisk命令在终端上运行,但不能与ruby脚本一起运行

  16. 16

    为什么我的Android程序可以在4.4.3版本上正常运行,但不能在10.0上运行

  17. 17

    脚本可以在终端上运行,但在使用PHP时不能运行

  18. 18

    JavaScript警报可以在Firefox上正常运行,但不能在Chrome和资源管理器中运行

  19. 19

    asp.net中的计时器可以在localhost上正常运行,但不能在线运行

  20. 20

    可在Shell中运行,但不能作为程序运行?

  21. 21

    控制器可以在本地正常运行,但不能在heroku上运行

  22. 22

    jQuery代码可以在localhost上正常运行,但不能在服务器上运行

  23. 23

    LibGDX游戏可以在桌面上正常运行,但不能在Android设备上运行

  24. 24

    Python在IDLE中运行,但不在终端上运行?

  25. 25

    TLSv1.2的curl可以在客户端上运行,但不能在服务器上运行

  26. 26

    用户脚本通知可以在Chrome上运行,但不能在Firefox上运行?

  27. 27

    Powershell脚本逐行在Powershell窗口上运行,但不能在脚本中运行

  28. 28

    Powershell脚本逐行在Powershell窗口上运行,但不能在脚本中运行

  29. 29

    wget 在终端中工作但不能在 shell 脚本中工作

热门标签

归档