1

これが正確なコマンドです

bcftools norm -f /path/hg19/ucsc.hg19.fasta -c s ./user1.vcf -o ../fixed/user2.vcf

シェルで直接実行すると、正常に動作します。
それをbashスクリプトに入れると失敗します

エラーメッセージはbcftools自体から来ています

[メイン] 認識できないコマンドです。

スクリプトは ascii でエンコードされています。

#!/bin/bash
bcftools norm -f /path/hg19/ucsc.hg19.fasta -c s ./user1.vcf -o ../fixed/user2.vcf

そのため、bcftools は、スクリプト内ではなくプロンプトから直接受け取った引数を受け入れます。プロンプトからのスペースとスクリプトからのスペースが同じように解釈されないようです

4

1 に答える 1

1

それは完全なエラーメッセージですか?通常、「認識されていないコマンド」の後に、どのコマンドが認識されていないかを示します。Cソースを見る:

fprintf(stderr, "[E::%s] unrecognized command '%s'\n", __func__, argv[1]); 

したがって、単一引用符内に何かがあるはずです-argv[1]コード内。

Web チャットでこのメッセージが表示される最も一般的な理由は、特定のコマンドが の初期バージョンで使用できないことですbcftools。では、複数のバージョンの がbcftoolsインストールされていますか?

OPによるコメント(上記)は、エイリアスが以前のバージョンを参照していることを確認しています。

于 2016-07-20T17:28:06.337 に答える