Linux/Unix 桌面乐趣:sl – ls 的镜像版本

[ad_1]

最常见的错误之一是键入 sl 而不是 ls 命令。 我设置了一个别名,即alias sl=ls; 但是你可能会因为汽笛而错过蒸汽火车。

sl 是一个笑话软件或经典的 UNIX 游戏。 如果您错误地输入了“sl”(蒸汽机车)而不是“ls”,它就是一个蒸汽机车在您的屏幕上运行。 现在,旧的 sl 命令有了一些变化。

sl – ls 的镜像版本

来自博客文章:

我不喜欢它并制作了另一个同名程序。 我的 sl 只是反映了 ls 的输出。 它接受大多数 ls(1) 参数,最好与 -l 一起使用。

源代码

程序写在 bash 贝壳。 这是源代码:

#!/bin/bash
# sl - prints a mirror image of ls. (C) 2017 Tobias Girstmair, https://gir.st/, GPLv3
 
LEN=$(ls "[email protected]" |wc -L) # get the length of the longest line
 
ls "[email protected]" | rev | while read -r line
do
	printf "%${LEN}.${LEN}sn" "$line" | sed 's/^(s+)(S+)/21/'
done

运行如下

首先使用 mkdir 命令创建 ~/bin/ 目录:
$ mkdir ~/bin/

接下来,存储上面的源代码。 cd 进入 ~/bin/ 使用 cd 命令
$ cd ~/bin/
$ vi sl

Save 和 close 文件。 使用 chmod 命令设置对 shell 脚本的权限:
$ chmod +x sl

测试一下:
$ ls -l
$ ./sl -l

sl 命令的示例输出:

txt.qaf.detaeler.km >- txt.smc.detaeler.km 05:41 32 ceD 91    keviv keviv 1 xwrxwrxwrl
qaf.detaeler.km                            72:41 11 ceD 709   keviv keviv 1 x-rx-rxwr-
etalpmet.qaf.detaeler.km                   34:51 61 voN 121   keviv keviv 1 --r--r-wr-
txt.qaf.detaeler.km                        85:00 01 beF 014   keviv keviv 1 --r--r-wr-
spit.detaeler.km                           94:41 32 ceD 709   keviv keviv 1 x-rx-rxwr-
etalpmet.spit.detaeler.km                  84:41 32 ceD 121   keviv keviv 1 --r--r-wr-
ssr.setadpu.km                             95:00 7  naJ 618   keviv keviv 1 x-rx-rxwr-
etalpmet.ssr.setadpu.km                    24:22 2  naJ 463   keviv keviv 1 --r--r-wr-
txt.ssr.setadpu.km                         22:12 02 beF 4221  keviv keviv 1 --r--r-wr-
hs.014.xnign                               43:11 6  naJ 684   keviv keviv 1 x-rx-rxwr-
hs.103.moc.tfarcxin                        5102  52 rpA 631   keviv keviv 1 x-rx-rxwr-
etacsufbo                                  5102  91 luJ 9931  keviv keviv 1 --r--r-wr-
hs.lapyap                                  84:41 02 ceD 865   keviv keviv 1 x-rx-rxwr-
txt.lapyap                                 7102  03 naJ 4131  keviv keviv 1 --r--r-wr-
hs.daolputsop                              3102  13 ceD 135   keviv keviv 1 x-rx-rxwr-
hs.daolpuerp                               3102  13 ceD 734   keviv keviv 1 x-rx-rxwr-
hs.niamod.eralfduolc.lla.egrup             7102  81 yaM 6401  keviv keviv 1 x-rx-rxwr-
nohtyp                                     05:20 5  beF 6904  keviv keviv 2 x-rx-rxwrd
ls                                         92:61 13 raM 672   keviv keviv 1 x-rx-rxwr-
resu.tidder.ecruos                         7102  42 naJ 911   keviv keviv 1 x-rx-rxwr-
014.deteled.sgat                           95:32 02 raM 97732 keviv keviv 1 --r--r-wr-
hs.teewt                                   53:10 62 naJ 58653 keviv keviv 1 x-rx-rxwr-
tob-rettiwt                                90:32 4  beF 6904  keviv keviv 2 x-rx-rxwrd
smc.elif.daolpu                            7102  9  nuJ 907   keviv keviv 1 x-rx-rxwr-
qaf.elif.daolpu                            7102  9  nuJ 807   keviv keviv 1 x-rx-rxwr-
pit.elif.daolpu                            7102  9  nuJ 907   keviv keviv 1 x-rx-rxwr-
hs.egamidaolpu                             3102  81 tcO 3911  keviv keviv 1 x-rx-rxwr-
nalnoekaw                                  00:41 21 tcO 1325  keviv keviv 1 x-rx-rxwr-
2x                                         7102  52 nuJ 017   keviv keviv 1 x-rx-rxwr-

如何设置 bash 外壳别名

语法是:
alias name=value

将以下内容添加到 ~/.bashrc 文件中:
echo 'alias sl="/home/$USER/bin/sl -l"' >> ~/.bashrc

加载它:
$ source ~/.bashrc

测试一下:
$ sl

如何验证sl命令执行路径

使用 输入命令 或者 命令命令 如下:
$ type -a sl
sl is aliased to `/home/vivek/bin/sl -l'
sl is /home/vivek/bin/sl
sl is /usr/games/sl
$ command -V sl
alias sl="/home/vivek/bin/sl -l"

您可以使用以下任一方法暂时禁用别名:
"command"
command"
sl
ls
command ls
command sl

有关更多信息,请参阅 这一页.

这个条目是 511 在里面 Linux 和 Unix 桌面趣味教程 系列。 继续阅读本系列的其余部分:

  1. 终端的圣诞树
  2. 猫和老鼠在你的屏幕上追逐
  3. Bastet Tetris(r) 克隆,带有用于控制台的块选择 AI
  4. 数字雨:模拟“黑客帝国”中的显示
  5. sl – ls 的镜像版本
  6. 召唤成群的企鹅在桌面上蹒跚而行
  7. 在您的桌面上运行蒸汽机车
  8. 让它在你的桌面上下雪
  9. 文本模式框和注释绘图
  10. 输入错误 git 时,Gti 在 shell 中显示吉普车或汽车
  11. 用 cbonsai 生成随机盆景树

[ad_2]

Related Posts