技术解析

请教这个 bash shell 为什么直接输出本身,而不是输出参数的内容?
0
2021-06-23 14:41:50
idczone

linux 新手。。。

有个想法,cat 一个文件内容,不会停屏,于是打算做个简单的 shell 辅助一下

[[email protected] /]$
[[email protected] /]$cat /usr/local/sbin/mcat.sh
#!/bin/bash
cat $0 | more
[[email protected] /]$mcat.sh /etc/rc.local 
#!/bin/bash
cat $0 | more
[[email protected] /]$

没有正常输出 rc.local 的内容,反倒是把 shell 脚本自己的内容给输出了。。。

除了这个脚本不能工作的问题外, 这里我其实想请教另外一个问题, yum 有没有什么工具包带个类似 cat 的命令, 能自动对文本内容分屏,又能对内容进行上配色?(就像 vim 命令工具那样?)

感谢解答!


| more 吧

$0 是脚本本身. $1 才是第一个参数. 调试时可以开头加一行 set -x

二楼正解,遇到问题先自己 echo 出变量

less 可以分屏

谢谢各位热心~~~!
感谢,想法达到了,是我搞错了$0 和$1。。。。
另问,有给内容输出上配色的好方法吗?

搜索 ANSI escape sequences

$more /etc/rc.local
https://github.com/rkitover/vimpager

$1 了解一下

@omph,好东西,已经用起来了。。。

蠢萌蠢萌的,嘻嘻嘻

cat 的完美替代品 https://github.com/sharkdp/bat

直接 more xxx 了解一下 233
比 more 更好用的 less 来了解一下 233
mcat.sh somefile -> less somefile

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服