fzk*_*zkl 1 string variables parameters bash function
我希望能够从for语句的内部向fnToDisplay()函数发送解析.for语句中的列表应该是一次一个分辨率.
关键问题是,我无法修改fnToDIsplay()但仍应该能够将解析作为单独的参数捕获到此函数中.有没有办法通过以特定方式格式化main语句或变量assignemnts来实现这一点?
下面的代码不能完成预期的工作,但应该知道我在寻找什么.
#!/bin/bash
fnToDisplay()
{
# $1 should display 1280, 1920 and 640 for each call from for loop
echo $1
# $2 should display 1024, 1080 and 480 for each call from for loop
echo $2
}
res1="1280 1024"
res2="1920 1080"
res3="640 480"
for resolution in $res1 $res2 $res3
do
fnToDisplay $resolution
done
exit
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏.谢谢
在声明for循环时,只需用双引号保护$ res_i:
res1="1280 1024"
res2="1920 1080"
res3="640 480"
for resolution in "$res1" "$res2" "$res3"
do
fnToDisplay $resolution
done
Run Code Online (Sandbox Code Playgroud)
顺便说一句,在bash中你可以使用一个数组:
resolutions=("1280 1024" "1920 1080" "640 480")
for resolution in "${resolutions[@]}"; do
fnToDisplay $resolution
done
Run Code Online (Sandbox Code Playgroud)