【问题标题】:How to pass file path to a function as an argument in bash script? [duplicate]如何将文件路径作为 bash 脚本中的参数传递给函数? [复制]
【发布时间】:2019-08-30 16:34:44
【问题描述】:

我想从不同的目录中获取文件并将其作为参数传递给函数。我已经在这工作了几个小时,但我无法让它工作。到目前为止,我已经尝试过这个

#!/bin/bash

myfile=/home/$USER/Desktop/Programs/Files/asd.bam

 function mate()
{ 
    samtools index $arg

    echo "$arg"
 }

mate $myfile

我用 echo 命令检查参数,但它显示为空。

提前致谢。

【问题讨论】:

  • 你真的搜索过这个主题吗?即使是简单的google search 也能提供很多信息?
  • 是的,我有并且我写过,我一直在努力让它工作好几个小时。也许我是个笨蛋什么的。
  • 嗯,好的。只需将$arg 替换为$1。例如echo "$1"。它会起作用的。

标签: linux bash terminal


【解决方案1】:

您还没有定义arg,因此它是空的(未定义)。函数中的$1 将是第一个传递的参数。

function mate()
{ 
    arg="$1"
    samtools index "$arg"
    echo "$arg"
}

【讨论】:

    猜你喜欢
    • 2019-11-06
    • 2014-08-12
    • 2015-02-05
    • 2019-10-22
    • 2021-12-02
    • 2011-04-18
    • 2018-12-26
    相关资源
    最近更新 更多