gpt4 book ai didi

shell - Unix shell 提示用户输入文件名

转载 作者:行者123 更新时间:2023-12-01 09:33:34 26 4
gpt4 key购买 nike

请见谅,因为我是 UNIX 初学者。

我想编写一个 shell 脚本,它可以询问用户输入文件名并输出该文件中的行数,这是我的代码:

echo "Pls enter your filename:"
read filename
result=wc -l $filename

echo "Your file has $result lines"

但是,我无法让它工作,因为它提示标识符“文件名”。高手能帮忙吗?谢谢!!

最佳答案

这很好用,至少在 bash 中是这样。好吧,read 工作正常。但是,对 result 的赋值可能应该是:

result=$(wc -l $filename)

但是,由于该命令同时输出行数文件名,您可能需要稍作更改以获取行数,例如:

result=$(cat $filename | wc -l)

或:

result=$(wc -l <$filename)

你的命令:

result=wc -l $filename

result 设置为文字 wc,然后尝试执行 -l 命令。

例如下面的五行脚本:

#!/bin/bash
echo "Pls enter your filename:"
read filename
result=$(cat $filename | wc -l)
echo "Your file has $result lines"

将在运行并将其名称作为输入时生成以下内容:

Your file has 5 lines

如果你使用bash,你需要指定你使用的shell。不同的shell有不同的做事方式。

关于shell - Unix shell 提示用户输入文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12234702/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com