怎么在Linux中使用Shell脚本获取终端宽度

  介绍

这篇文章给大家介绍怎么在Linux中使用Shell脚本获取终端宽度,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<强>获取终端大小时候的学习

在写Shell脚本时想输出一行占满整个终端屏幕宽度的横杠

发现为循环会导致执行缓慢

<强>解决方法:

使用是的命令

sed & # 39; 50提问# 39;显示50行

tr - d & # 39; \ n # 39;删除\ n

<强>多次重复输入相同字符可用是的

<代码>是的“2”;| sed & # 39; 50提问# 39;| tr - d & # 39; \ n # 39;

想法来自:打印100个连续的符号,不用循环

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

<强> stty大小(获取终端大小)

<代码> stty大小| awk & # 39; {print $ 2} & # 39;

最终命令:

(指令版)   shellwidth=' stty 大小| awk  & # 39; {print  $ 2} & # 39;”   #,输出横杠   yes “产生绯闻,|,sed 美元shellwidth& # 39;提问# 39;,|,tr  -d  & # 39; \ n # 39;   ----------------------------------------------------   (函数版)   function  getshellwidth(), #,这里可以去掉函数   {   echo 才能,“stty 大小| awk  & # 39; {print  $ 2} & # 39;”   #才能return  0, #,回报是返回,成功或者失败的   #调才能用的时候只需要上面的输出就行,,他会将标准输出返回回来   }   #,这块有个疑问,就是如下面的写法会报错,Inappropriate  ioctl  for 设备   #,yes “产生绯闻,|,sed ‘getshellwidth & # 39;提问# 39;,|,tr  -d  & # 39; \ n # 39;   ----------------------------------------------------   #,输出横杠   shellwidth=' getshellwidth ',   yes “产生绯闻,|,sed 美元shellwidth& # 39;提问# 39;,|,tr  -d  & # 39; \ n # 39;      (直接显示一行横杠)#,推荐使用本方法   printLine (),,,   {   #,才能进行判断   if 才能;[!大敌;1美元,];然后   ,,,#,没有参数则直接输出,-   ,,,outword=& # 39; & # 39;   其他的才能   ,,,#,将输入的参数1,赋值给outword   ,,,outword=1美元   fi 才能;   shellwidth才能=' stty 大小| awk  & # 39; {print  $ 2} & # 39;”   yes 才能;outword 美元;|,sed 美元shellwidth& # 39;提问# 39;,|,tr  -d  & # 39; \ n # 39;   }   printLine ,,, #,直接调用,后面可以跟参数

备注:获取宽度后最好是将宽度定义为一个新的变量,或者是函数这样获取比较方便

优雅的判断

<代码> ${列:},

例如:,,,<代码> ${列:1},

如果列是空变量,或者变量不存在,返回——后面的内容,如果变量有值返回这个值。

<强>备注:

美元列在linux也可以显示行宽,但是放在bash脚本中则需要使用壳来源。sh的格式去编写

,因为源可以直接利用当前环境变量而bash则是另起一个环境,无法输出(猜想)

关于怎么在Linux中使用Shell脚本获取终端宽度就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

怎么在Linux中使用Shell脚本获取终端宽度