可以接受未限制参数的Linux Bash脚本

可以接受未限制参数的Linux Bash脚本,linux,bash,Linux,Bash,大家都怎么了?我在我的Linux操作系统类中有这个任务,我有点麻烦。它要求我 编写一个名为chkread的bashshell脚本,该脚本接受无限数量的 所有参数都表示文件名 到目前为止,我已经想到了这个,但我不认为这正是教授想要的 ~$ cat MY_SCRIPT #!/bin/bash echo ${unlimited arguments} ~$ bash MY_SCRIPT cat dog horse cat dog horse 您可以使用类似的方法来处理bash脚本中的多个参数 #!/b

大家都怎么了?我在我的Linux操作系统类中有这个任务,我有点麻烦。它要求我

编写一个名为chkread的bashshell脚本,该脚本接受无限数量的 所有参数都表示文件名

到目前为止,我已经想到了这个,但我不认为这正是教授想要的

~$ cat MY_SCRIPT
#!/bin/bash
echo ${unlimited arguments}
~$ bash MY_SCRIPT cat dog horse
cat dog horse

您可以使用类似的方法来处理bash脚本中的多个参数

#!/bin/bash
file_names=("$@")

for name in "${file_names[@]}"; do
  echo "$name"
done
然后调用脚本时:

bash chkread.sh file1 file2 file3 file4
脚本将打印它们以输出:

file1
file2
file3
file4
但这只是一个例子。在脚本中,您可以使用它们执行任何需要执行的操作。

使用$*。那会给你一切。例如:

#!/bin/bash
file_names=$*
echo $file_names
输出:

jbanks@efsappdev1:~$ x.sh `ls *.sql`
current.sql goop.sql latest.sql long.sql report.sql
jbanks@efsappdev1:~$ x.sh one two three
one two three

不,绝对不是。你也可能把问答网站StackOverflow和论坛搞混了,其实不然。但一旦你获得足够的支持,我们会有一些不错的聊天室。代表:啊,很抱歉。我的同班同学向我推荐了这个网站,我想就是这样。谢谢你!我们非常乐意回答问题,但我们确实提出了可以回答的问题。花几分钟阅读/重读FAQ,看看和,你会发现我们是非常有帮助的一群人,至少如果你问了好问题;通常一个好的问题包含1你想完成什么?2你试图解决什么问题?如果你搜索过,你搜索过什么?如果您编写了代码,请粘贴MCVE。3你想发生什么?4发生了什么?如果您有错误,请发布完整的错误。它不起作用从来都不是一个完整的解释。作业问题通常在以前被问过很多次。你说得对,我应该使用正确的格式。很抱歉这样做。这不适用于包含空格的文件名。True。根据操作系统的不同,它可能也会工作。您也可以避开空白,但如果不调用另一个进程,我认为这并不容易。显然,类似这样的东西适合perl之类的东西,但是OP被指示使用错误的工具来完成任务,所以这有点限制了事情的发展,一点也没有。Bash可以处理得很好。请使用$@查看另一个答案。