gpt4 book ai didi

linux - 将多个参数传递给脚本 linux

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:07:17 28 4
gpt4 key购买 nike

我有以下代码,它应该将文件名作为参数,并将它们发送到我的电子邮件地址,该电子邮件地址是从用户名派生的:

#Email Script from linux
#Define username e.g. pp_roman
u="$USER"

#Remove the pp_ and store to variable e.g. roman

u2=${u#"pp_"}

#Define Email portion

em="@workemail.com"

#Combine the username e.g. roman@workemail.com

u3=$u2$em

#Arguments for script

for FILE1 in "$@"
do
filename="-a $FILE1"
done

##This returns the full string with $filename variables for arguments, and email from $u3

mailx $filename -s "Subject" $u3 < /dev/null

然而,当传递多个参数时,只有最后提到的文件名作为附件发送。如何将多个参数传递给 $filename 变量,所有参数都附加“-a”?

最佳答案

因为您使用的是 bash,所以正确的做法是使用数组。

attachments=()
for f in "$@"
do
attachments+=(-a "$f")
done

mailx "${attachments[@]}" -s "Subject" "$u3" < /dev/null

关于linux - 将多个参数传递给脚本 linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44158327/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com