Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 如何使用变量数据在循环中运行unix命令?_Shell_Unix - Fatal编程技术网

Shell 如何使用变量数据在循环中运行unix命令?

Shell 如何使用变量数据在循环中运行unix命令?,shell,unix,Shell,Unix,我希望在循环中运行unix命令,为每次迭代替换一个变量,然后将输出存储到文件中 我将使用curl-I获取一系列URL的HTTP头,然后将每个实例输出到文件的新行。 我知道 我可以使用|cat存储输出,也可以使用将其重定向到一个文件中,但是如何运行循环呢 我有一个文件,每行有一个URL列表(或者我可以用逗号分隔它们)。您可以写: while IFS= read -r url ; do curl -I "$url" done < urls-to-query.txt > retri

我希望在循环中运行unix命令,为每次迭代替换一个变量,然后将输出存储到文件中

我将使用
curl-I
获取一系列URL的HTTP头,然后将每个实例输出到文件的新行。 我知道

我可以使用
|cat
存储输出,也可以使用
将其重定向到一个文件中,但是如何运行循环呢

我有一个文件,每行有一个URL列表(或者我可以用逗号分隔它们)。

您可以写:

while IFS= read -r url ; do
    curl -I "$url"
done < urls-to-query.txt > retrieved-headers.txt
而IFS=read-r url;做
curl-I“$url”
已完成检索到的标题.txt

(使用内置的
read
命令,该命令从标准输入中读取一行,在本例中从
url重定向到query.txt
,并将其保存到变量中,在本例中为
$url
)。

给定文件中的url列表:

http://url1.com
http://url2.com
你可以跑

cat输入文件| xargs curl-I>>输出文件

这将读取输入文件的每一行,并将每一行的结果附加到输出文件中