如何修复此错误:位置参数太多(1)?

如何修复此错误:位置参数太多(1)?
FASTA file: /home/farhana/Desktop/Long Assignment/seqfasta.fa
FASTA type: protein
Proceed? [y/n] (Default: y): y
Enter a database title or will use 'seqfasta': seqfasta.fa
Enter taxid (optional): 
USAGE
  makeblastdb [-h] [-help] [-in input_file] [-input_type type]
    -dbtype molecule_type [-title database_title] [-parse_seqids]
    [-hash_index] [-mask_data mask_data_files] [-mask_id mask_algo_ids]
    [-mask_desc mask_algo_descriptions] [-gi_mask]
    [-gi_mask_name gi_based_mask_names] [-out database_name]
    [-blastdb_version version] [-max_file_sz number_of_bytes]
    [-logfile File_Name] [-taxid TaxID] [-taxid_map TaxIDMapFile] [-version]

DESCRIPTION
   Application to create BLAST databases, version 2.8.1+

Use '-help' to print detailed descriptions of command line arguments
========================================================================

Error:  (CArgException::eSynopsis) Too many positional arguments (1), the offending value: Assignment/seqfasta.fa

答案1

第 1 行中的 Long 和 Assignment 被 Bash shell 解释为位置参数过多,应该是 2 个而不是 1 个。相反,可以将整个路径括在引号中,如下所示:
'/home/farhana/Desktop/Long Assignment/seqfasta.fa'
或者用连接字符连接 Long 和 Assignment,如下所示,Long-Assignment使其成为单个位置参数,而不是两个单独的参数。您还可以转义它们之间的空格字符长的任务通过在它前面加上反斜杠\,使得它不被 shell 解释为特殊字符。

相关内容