首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将ls命令的输出存储在shell变量中。

将ls命令的输出存储在shell变量中。
EN

Stack Overflow用户
提问于 2018-04-22 03:54:49
回答 2查看 15.6K关注 0票数 0

我正在使用下面的命令找到一个名为“烛台”的最新文件。

代码语言:javascript
运行
复制
ls *.log | grep "candump" | tail -n 1

输出为“烛光-2018-04-19_131908”。

我希望将输出文件名存储到shell脚本中的一个变量中。我使用以下命令:

代码语言:javascript
运行
复制
logfile = `ls *.log | grep "candump" | tail -n 1`

代码语言:javascript
运行
复制
logfile = $(ls *.log | grep "candump" | tail -n 1)

然而,两次我都得到了相同的错误,"logfile:命令未找到“。我做错了什么吗?任何帮助都是非常感谢的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-22 03:59:50

您必须坚持变量名及其值(在=之前和之后没有空格)。

试着:

代码语言:javascript
运行
复制
logfile=$(ls *.log | grep "candump" | tail -n 1)
票数 7
EN

Stack Overflow用户

发布于 2022-09-07 08:57:53

这是为我工作的

代码语言:javascript
运行
复制
#!/bin/bash 

my_command='ls | grep server.js | wc -l';

my_data=$(eval "$my_command");

echo "value in echo is:" $my_data;

if [ $my_data == "1" ]; then
    echo "value is equal to 1";
else
    echo "value is not equal to 1";
fi
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49962337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档