如何将文件路径作为 bash 脚本中的参数传递给函数? [复制]

Posted

技术标签:

【中文标题】如何将文件路径作为 bash 脚本中的参数传递给函数? [复制]【英文标题】:How to pass file path to a function as an argument in bash script? [duplicate] 【发布时间】: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"。它会起作用的。 【参考方案1】:

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

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

【讨论】:

以上是关于如何将文件路径作为 bash 脚本中的参数传递给函数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Linux 中使用终端命令将文件参数传递给我的 bash 脚本? [复制]

将带有空格的路径作为参数传递给 bat 文件

如何将文件参数传递给我的 bash 脚本两次并修改文件名

如何将数组参数传递给 Bash 脚本

sh 如何将参数传递给Bash脚本

如何将传递给我的 bash 脚本的所有参数传递给我的函数? [复制]