【问题标题】:How to assign value of xargs command into a variable in bash? [duplicate]如何将 xargs 命令的值分配给 bash 中的变量? [复制]
【发布时间】:2019-12-06 09:56:03
【问题描述】:

我需要分配一个变量$x 值,该值从$1 上的命令'file' 返回。 我的代码是:

echo $1 | xargs file 'x=$'

最后一部分x=$ 不起作用。 我需要,如果参数$1'archive.zip',那么变量x 将获得命令'file' 的值。 我该怎么做?

【问题讨论】:

  • 我很确定你可以选择x=$(file $1)

标签: bash


【解决方案1】:

在shell脚本中为变量赋值如下

  a=$(echo $1 | xargs file)

上面的意思是执行$(...)里面的东西,输出将被分配给一个名为a的变量 访问变量a的内容

 echo $a

您也可以直接执行file 命令,参数为文件名,然后将输出存储到变量中。

$1 是一个特殊参数,它是用于调用脚本的第一个参数。

示例 1

root@server[/root] > echo wiki.20191206.tar.gz | xargs file
wiki.20191206.tar.gz: gzip compressed data, from Unix, last modified: Fri Dec  6 00:00:01 2019
root@server[/root] > a=$(echo wiki.20191206.tar.gz | xargs file)
root@server[/root] > echo $a
wiki.20191206.tar.gz: gzip compressed data, from Unix, last modified: Fri Dec 6 00:00:01 2019

示例2

root@server[/root] > file wiki.20191206.tar.gz
wiki.20191206.tar.gz: gzip compressed data, from Unix, last modified: Fri Dec  6 00:00:01 2019
root@server[/root] > a=$(file wiki.20191206.tar.gz)
root@server[/root] > echo $a
wiki.20191206.tar.gz: gzip compressed data, from Unix, last modified: Fri Dec 6 00:00:01 201

【讨论】:

  • 这个问题显然是重复的(你的答案也是如此)。下次遇到这样的问题时,不要发布答案,只需标记并继续前进
猜你喜欢
  • 2011-01-19
  • 2021-06-11
  • 1970-01-01
  • 2011-01-23
  • 1970-01-01
  • 2014-07-24
  • 2012-07-16
  • 2021-06-14
相关资源
最近更新 更多