And*_*rew 28 bash shell-script for
在 bash 中,我知道可以编写一个for循环,其中一些循环控制变量i迭代指定的整数。例如,我可以编写一个 bash shell 脚本来打印 1 到 10 之间的整数:
#!/bin/bash
for i in {1..10}
do
echo $i
done
Run Code Online (Sandbox Code Playgroud)
如果我提供字符串列表,是否可以迭代作为字符串的循环控制变量?例如,假设我有一个fname表示文件名的字符串。我想为每个文件名调用一组命令。例如,我可能想fname使用这样的命令打印内容:
#!/bin/bash
for fname in {"a.txt", "b.txt", "c.txt"}
do
echo $fname
done
Run Code Online (Sandbox Code Playgroud)
换句话说,在第一次迭代时,fname应该有 value fname="a.txt",而在第二次迭代时,fname应该有 value fname="b.txt",依此类推。不幸的是,上面的语法似乎不太正确。我想获得输出:
一个.txt
b.txt
文件
但是当我尝试上面的代码时,我得到了这个输出:
{a.txt,
b.txt,
c.txt}
你能帮我确定正确的语法,以便我可以迭代地更改变量的值/内容fname吗?感谢您的时间。
Ali*_*gji 43
正确的语法如下:
#!/bin/bash
for fname in a.txt b.txt c.txt
do
echo $fname
done
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
86243 次 |
| 最近记录: |