偷懒 尝试下自定义shell命令
偷懒 尝试下自定义shell命令
王二铁 发表于4年前
偷懒 尝试下自定义shell命令
  • 发表于 4年前
  • 阅读 73
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

场景:经常需要在自己的目录下写代码:/home/work/jiankuiwang/, 然后cp到测试环境 /home/work/website/。 写的多了,cp的也会恶心。然后练习shell命令就写了个自定义的wcp 命令。

原理简单的很,直接码。

#! /bin/sh

if [ $# -eq 0 ]
then
    echo "use as : wcp XX"
    exit
else
    filename=$1
fi

echo $filename
now_pwd=`pwd`
echo $now_pwd

common_s='/home/work/jiankuiwang'
common_d='/home/work/website'

des_pwd=${now_pwd/$common_s/$common_d}
echo $des_pwd
cp $filename $des_pwd

2.  设置成一个系统命令,先简单用alias实现:

alias wcp='/home/work/jiankuiwang/wcp.sh'

    参考了:

如何创建linux命令”快捷方式”或”自定义命令” 

3. alias方案只对当前登陆环境有效,参考文档修改 ~/.bashrc

/etc/bashrc:为每一个运行bash shell的用户执行此文件.bash shell被打开时,该文件被读取。有些linux版本中的/etc目录下已经没有了bashrc文件。
~/.bashrc:该文件包含专用于某个用户的bash shellbash信息,当该用户登录时以及每次打开新的shell,该文件被读取.


2013-01-06 update   rm 删错担心无法恢复怎么办?

自定义一个lazy rm吧,简单的很:创建一个Trash目录,然后封装一个lrm命令,原理是mv想删除的文件到Trash目录。这样即实现了删除又不会因为误删没办法恢复。

1.  创建文件   vi lrm.sh

 #! /bin/sh
 
 if [ $# -eq 0 ] 
 then
     echo "use as : lrm XX"
     exit
 else
     filename=$1
 fi
 
 echo $filename
 
 mv $filename ~/Trash

2.  写到bashrc的 alias中

    alias lrm='/home/jiankuiwang/lrm.sh'

3. sourch ~/.bashrc

以后就用lrm替代rm吧,妈妈再也不用担心我删错文件啦!!!

后续研究下Linux的rm原理,再考虑写工具来做数据恢复试试。


共有 人打赏支持
王二铁
粉丝 86
博文 62
码字总数 41123
×
王二铁
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: