让Linux命令加速 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

Linux中大多数命令只做一件事,因此,通过Shell脚本语言把各种程序粘合起来使用时,就能完成复杂的任务,

让Linux命令加速

。本文充分利用功能强大,但简单易学的小工具,给出一些实际问题的解决方案,希望使Linux更实用、更好用。

让命令“说话

几乎每个Linux命令都有很多选项,允许使用者根据需要灵活地定制。但这给初学者带来诸多不便,一是学起来麻烦,二是容易遗忘,需要时不得不重新再来。

那么有没有办法让命令自己“说话”呢?通过Shell脚本语言可以给命令加上友好的“面孔”。示例如下:

::::::::::::::
cname.sh
::::::::::::::
echo "Please input file name:"
read old
echo "Please input new name: "
read new
mv $old $new

上面代码中,mv的命令格式为:

mv 原名字 新名字

echo命令格式为:

echo 字符串

read从标准输入中读入一个字符串,并存入后边的变量中,其命令格式为:

read 变量名

程序执行时显示帮助信息,提示输入相应的参数,最后通过简单的变量替换,完成改名任务这个程序。虽然只有5行,却改变了命令的行为方式,大大地增强了mv的易用性。在实际应用中,读者可根据需要替换这个小程序的命令,

电脑资料

让Linux命令加速》(https://www.unjs.com)。

处理多个文件

在前面的基础上,如果想给一批文件改名的话,那么下面这个例子就更有实用价值了。

::::::::::::::
mvs.sh
::::::::::::::
for s in $*; do
  echo "File: $s"
  echo "Please input new name: "
  read t
  mv $s $t
  if [ $? -eq 0 ]; then
  echo "OK!^o^"
  else
  echo "Error!"
  fi
done

通过for循环,“命令序列”依次处理文件列表中的所有文件。$*代表所有命令行参数,这样文件列表就可以通过命令参数指定。后面的if语句测试命令的执行状态,0代表执行成功。简单部署1之后,键入“mvs .jpg”就可以轻松地批量给文件改名了。

部署方案

程序编制完成,需要仔细部署,以使安装和使用方便。

◆在用户主目录下新建bin目录(如果已建立就跳过):

mkdir ~/bin

◆把~/bin添加到PATH变量,在用户主目录下的.bashrc文件中添加下面几行:

PATH=~/bin:$PATH

export PATH

◆把测试好的程序移至bin目录,更改成简单易记的名字,并设置文件属性:

cp mvs.sh ~/bin/mvs

chmod 755 ~/bin/mvs

以后,就可以直接使用mvs给一批文件改名字了。

mvs *.jpg

本文所举例子虽然简单,但勾画出了一些比较通用的框架,根据需要稍加修改就可以解决很多比较复杂的任务。

最新文章