linux - 如何将 cat/ls -l 命令的输出传递给 unix 中的参数?

标签 linux bash unix cat

我有一个作业,内容是:“如果您输入‘类型’,它应该以提示符‘输入文件名:’进行响应,然后让您输入一些内容。如果您输入有效的文件名,它应该以文件列表响应,然后退出。”

这是我到目前为止的代码:

type)
 echo "Enter file name:"
read var
if [ -f "${var}" ]; 
then
     ???
exit
fi
;; 

我正在尝试弄清楚在放置 ??? 的位置输入什么内容以与 cat 命令相同的方式显示输入的任何文件的内容。我以为这会是像 echo $CAT 这样简单的东西,但这并没有奏效。

然后我尝试做同样的事情,但是使用一个目录,输出它的 ls -l 列表而不是文件内容。

帮助将不胜感激!

最佳答案

你可以这样做:

if [ -f "$var" ] 
then
     cat "$var"
elif [ -d "$var" ]
then
    ls -l "$var"
fi

关于linux - 如何将 cat/ls -l 命令的输出传递给 unix 中的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53179257/

相关文章:

java - 无法停止oracle 10g中的监听器

Linux - 找到一个字符串并获取下一部分

bash - 让 grep 在找到匹配项时提前退出

linux - 将 grep 结果放入变量中

shell - 调用时是否完整读取 shell 脚本?

performance - CentOS CPU 使用率

c - 为什么在转换为 tm 结构并返回时两个 time_t 值之间存在一小时的差异?

php - 程序可执行文件和日志文件的正确文件权限应该是什么?

bash - 存储命令的输出,同时还使用 if 语句的退出状态

c - mktime() 返回大量秒数