for 循环 shell 脚本中变量的命令结果

发布于 2024-12-17 09:26:01 字数 130 浏览 0 评论 0原文

如何:将命令结果传递给变量?

for file in find "$1" do
    var = $file | cut -d/ -f6-
    echo $var
    ...
done

How to: a command result to a variable?

for file in find "$1" do
    var = $file | cut -d/ -f6-
    echo $var
    ...
done

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

〗斷ホ乔殘χμё〖 2024-12-24 09:26:01

几点提示:

在 shell 脚本中,空格确实很重要。您的代码 var = $file 是一个错误,因为不存在知道如何处理参数 =$file 的可执行文件 var。使用

var="$file"

代替。

捕获 $file | 的输出cut -d/ -f6- pipeline 您将需要以下语法:

var="$(echo $file | cut -d/ -f6-)"

在最新版本的 bash 中,您可以使用“here string”代替,并避免 echo< /code> 和管道。

var="$(cut -d/ -f6- <<<"$file")"

我注意到您还尝试处理 find 命令的结果,但语法也不正确。正确的语法是

while IFS= read -d 

我必须再次询问您“field 6”正在做什么,因为您已经问过类似的问题 之前

\0' -r file ; do var="$(cut -d/ -f6- <<<"$file")" echo "$var" done < <(find "$1")

我必须再次询问您“field 6”正在做什么,因为您已经问过类似的问题 之前

A few pointers:

In shell scripts whitespace really matters. Your code var = $file is an error, since no executable var exists which knows how to process the arguments = and $file. Use

var="$file"

Instead.

To capture the output of your $file | cut -d/ -f6- pipeline you will need the following syntax:

var="$(echo $file | cut -d/ -f6-)"

In bash of recent version you can use a "here string" instead and avoid the expense of echo and the pipe.

var="$(cut -d/ -f6- <<<"$file")"

I note that you are also attempting to process the results of a find command, also with incorrect syntax. The correct syntax for this is

while IFS= read -d 

I must again question you as to what "field 6" is doing, since you've asked a similar question before.

\0' -r file ; do var="$(cut -d/ -f6- <<<"$file")" echo "$var" done < <(find "$1")

I must again question you as to what "field 6" is doing, since you've asked a similar question before.

你与清晨阳光 2024-12-24 09:26:01

你的问题不太清楚,但

var=`cut -d/ -f6- < $file`

你想要什么?

Your question wasn't all that clear, but is

var=`cut -d/ -f6- < $file`

what you were after?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文