shell - 如何传递此 Shell 脚本的路径?
问题描述
这个名为的小 Shell 脚本prepareFastaRef.command
应该接收我提供的文件名作为参数,根据它生成路径,然后在该文件上运行命令。看起来像:
#!/bin/bash
REF="~/Dropbox/phd/fastarefs/$1"
echo "$REF"
samtools faidx "$REF"
我从命令行运行它:
prepareFastaRef.command test.fa
但它似乎无法找到该文件:
[E::fai_build3_core] 无法打开我的文件 ~/Dropbox/phd/fastarefs/test.fa
这个问题不是特定于程序samtools
的,因为我和其他人有同样的问题。我可以 100% 确认文件test.fa
在那里。
我感到困惑的是,这个命令本身就可以完美地工作:
samtools faidx ~/Dropbox/phd/fastarefs/off_aa1.fa
因此,我如何从 Shell 脚本中传递路径似乎是一个问题。
我错过了什么?
解决方案
推荐阅读
- sql - 具有唯一 ID 的分组数据不分组
- aws-lambda - 在 AWS Amplify 上使用 Next.js 和 SSR,环境变量不会被传递到自动创建的 Lambda
- reactjs - 为 MUI 自动完成组件选择“无选项”
- php - 如何从视图的 URL 中获取值并在控制器中使用它?
- php - 更好地检查 PHP 中的肯定或否定条件(或者它是否重要)
- google-sheets - 你如何只显示基于单元格的重复行?
- html - 如何在 jinja 中仅显示 5 个列表结果,从烧瓶返回结果?
- node.js - 我的代码一直在打印'Hi [{“FirstName”:“Martin”}]'。我怎样才能解决这个问题?
- c# - 按模式 mongodb 驱动器 c# 过滤
- python - 如何以编程方式将文件从 kubernetes pod 复制到 Google Cloud 存储桶