我有一个包含列出命令的文件:第一个是脚本名称,例如:get_1000g_r2_prevcf_snplist_e.pl,其他所有内容都是脚本的参数。这是主文件中的几行,我试图用它们来运行所有这些命令,例如 runscript:
get_1000g_r2_prevcf_snplist_e.pl 11:9554976-9657232 EUR ENSG00000133789.txt
get_1000g_r2_prevcf_snplist_e.pl 11:70272382-70444560 EUR ENSG00000131626.txt
get_1000g_r2_prevcf_snplist_e.pl 11:94324686-94541163 EUR ENSG00000020922.txt
...
我在做:
chmod u+x runscript
sh runscript
我正进入(状态:
line 1: get_1000g_r2_prevcf_snplist_e.pl: command not found
为什么会这样?所有内容都位于当前目录中。路径没有问题。
我确实做了:
export PATH=$PATH:.
运行后:
get_1000g_r2_prevcf_snplist_e.pl 11:9554976-9657232 EUR ENSG00000133789.txt
我有:
-bash: ./get_1000g_r2_prevcf_snplist_e.pl: Permission denied
答案1
get_1000g_r2_prevcf_snplist_e.pl
是文件名,不是命令。
您的脚本是用 Perl 编写的,因此请runscript
按照以下方式更改您的文件:
perl get_1000g_r2_prevcf_snplist_e.pl 11:9554976-9657232 EUR ENSG00000133789.txt
perl get_1000g_r2_prevcf_snplist_e.pl 11:70272382-70444560 EUR ENSG00000131626.txt
perl get_1000g_r2_prevcf_snplist_e.pl 11:94324686-94541163 EUR ENSG00000020922.txt
...