请教这个 bash shell 为什么直接输出本身,而不是输出参数的内容?

2018 年 6 月 30 日
 pppguest3962

linux 新手。。。

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

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

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

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

感谢解答!

3801 次点击
所在节点    Linux
12 条回复
kokutou
2018 年 6 月 30 日
| more 吧
momocraft
2018 年 6 月 30 日
$0 是脚本本身. $1 才是第一个参数. 调试时可以开头加一行 set -x
hanxiV2EX
2018 年 6 月 30 日
二楼正解,遇到问题先自己 echo 出变量
BFDZ
2018 年 6 月 30 日
less 可以分屏
pppguest3962
2018 年 6 月 30 日
谢谢各位热心~~~!
@momocraft 感谢,想法达到了,是我搞错了$0 和$1。。。。

另问,有给内容输出上配色的好方法吗?
ysc3839
2018 年 6 月 30 日
@pppguest3962 搜索 ANSI escape sequences
omph
2018 年 6 月 30 日
dorothyREN
2018 年 6 月 30 日
$1 了解一下
pppguest3962
2018 年 6 月 30 日
@omph,好东西,已经用起来了。。。
CEBBCAT
2018 年 6 月 30 日
@pppguest3962 #5 蠢萌蠢萌的,嘻嘻嘻
maomo
2018 年 6 月 30 日
cat 的完美替代品 https://github.com/sharkdp/bat
abc612008
2018 年 7 月 1 日
直接 more xxx 了解一下 233
比 more 更好用的 less 来了解一下 233

mcat.sh somefile -> less somefile

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.xtra.eu.org/t/467087

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX