Embark on a journey of knowledge! Take the quiz and earn valuable credits.
Take A QuizChallenge yourself and boost your learning! Start the quiz now to earn credits.
Take A QuizUnlock your potential! Begin the quiz, answer questions, and accumulate credits along the way.
Take A QuizGeneral Tech Bugs & Fixes 2 years ago
Posted on 16 Aug 2022, this text provides information on Bugs & Fixes related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.
I don't see any issue in your script, it works for me, although you should always use quoted "${var[@]}"
notation and also use quotes around variables / file names (source "$1"
).
This works well:
script array.sh
:
#!/bin/bash
URLs=(
"example"
"something"
"something else"
)
script original.sh
:
#!/bin/bash
source "$1"
for URL in "${URLs[@]}"; do
echo "$URL"
done
works well for me:
$ ./original.sh array.sh
example
something
something else
Easier solution of loading list data without needing to source using readarray
:
config:
example
something
something else
script:
readarray URLs < config
for URL in "${URLs[@]}"; do
echo "$URL"
done
or using xargs
:
xargs -a config -I{} echo {}
or feed it directly into wget
or aria2c
if your goal is to download the urls:
wget -i config
aria2c -i config
No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.
General Tech 10 Answers
General Tech 7 Answers
General Tech 3 Answers
General Tech 9 Answers
Is Foldable Smartphone Technology the Future or Just a Trend?
Ready to take your education and career to the next level? Register today and join our growing community of learners and professionals.
manpreet
Best Answer
2 years ago
I have a script, which will parse an array like:
Now what I'm trying to do is to outsource the
URLs
array into another file, pass that file as$1
and source it (source $1
) into my script. UnfortunatelyURLs
stays empty.This is the file with the outsourced URLs array, which I'm trying to pass:
I'm calling the script like this:
And, of course the
original.sh
:The idea is that I have different lists/files with URLs, which need to be passed to one single script in order to be parsed. Does anyone has an idea how I could do that?