您为日常生活编写的最有用的脚本是什么?[关闭]


132

只是想知道这里的人写了哪些小脚本/程序,可以帮助他/她的日常生活(又称与工作无关)。

任何事情,无论是否具有开创性。现在对我而言,这是一个小小的python脚本,可以根据给定的距离和时间来计算跑步速度。


我见过一些非常酷的与工作相关的脚本,但没有那么多与“日常生活”相关的脚本。再说一次,如果工作中的某件事毁了您的生活,而您用整洁的脚本修复了它,那我该由谁来判断?
凯尔·沃尔什

10
那些使堆栈溢出值得一阵的宝石问题之一。任何建议关闭它的准则都不应该存在,任何投票关闭它的mod都不应该是一个准则。
Bill K

这对我来说就是一个:github.com/codeforester/base。这个框架极大地提高了我作为SRE / DevOps人员的工作效率,同时提高了团队的凝聚力和协作能力。
codeforester

Answers:


116

我的o钥匙掉在笔记本电脑上了;因此,我编写了一个程序,将0彼此之间200 MS内的两次击键替换为o0而将彼此之间700 MS 内的两次击键替换为,0而忽略了其余击键。因此我可以在更换键盘之前使用笔记本电脑。

哇; 我不知道这会这么受欢迎:p

至于如何-微软公开了一个很好的小API功能,称为Hooks

使用那个钩子;我能够编写一个执行所需操作的“过滤器”(提示:如果您在回调窗口中返回1,则不会处理按键)。

我之所以知道这一点,实际上不是因为我在写键盘记录器,而是因为我前一段时间为Synergy写了一个程序微笑器。

是的。我确实编写了另一个程序,该程序将字母数字键与随机字母数字键互换,是的。这真的很有趣:D


1
我可能曾经想过只在裸露的键盘托上打字,但这当然是一种有趣的方式:)
沃伦

2
我想知道为什么我不这么认为...我也有同样的问题... :-(
asterite,

1
这让我想起了这个XKCD漫画:xkcd.com/196
JesperE

59
哈!Y00u可以重新训练y00ur手指,从而再次可以将t00输入00n成为标准键盘。G0000d运气!
Doug L.

107
最大的问题是,如何不使用字母“ o”来编写该程序?
e.James,2009年

115

我再也没有代码了,但也许我写的最有用的脚本是VBA中的(信不信由你)。我有一个烦人的同事,他的导火线如此短,以至于我称他为樱桃炸弹。当客户打来电话,然后站起来,开始在隔间墙上对我怒吼时,他常常会生气,这使我的生产力和士气丧命。

我总是打开Microsoft Excel。当他执行此操作时,我将alt键切换到Excel,然后在工具栏上出现一个带有樱桃炸弹图像的新图标。我会谨慎地单击该按钮,而不会发生任何事情。

但是,此后不久我会打个电话,说“是的,听起来不错。我最好看看。” 然后我起床,向樱桃炸弹道歉并走开。

发生的是,我们使用了NetWare,并且内置了原始消息传递系统。当我单击按钮时,一个小的VBA脚本会向我的朋友发送一条NetWare消息,告诉他们樱桃炸弹又在发生着,他们会请给我打电话。他从来没有想过:)


94
当您编写程序以摆脱尴尬的社交环境时,您知道自己是程序员。
卡多

7
太棒了!这是最好的社会工程学!
Beska

1
让我们希望Cherry Bomb不使用StackOverflow :)
Pedro Luz

94

一个bash脚本被调出,以便如果我进入/a/very/deeply/nested/path/somewhere并且想要“向上” N个目录,我可以输入:up N

#!/bin/bash
LIMIT=$1
P=$PWD
for ((i=1; i <= LIMIT; i++))
do
    P=$P/..
done
cd $P

例如:

/a/very/deeply/nested/path/somewhere> up 4
/a/very> 

NB by gmatt:

通过完成上面的出色工作,可以通过将以下内容放入您的bashrc中将其扩展为back函数:

function up( )
{
LIMIT=$1
P=$PWD
for ((i=1; i <= LIMIT; i++))
do
    P=$P/..
done
cd $P
export MPWD=$P
}

function back( )
{
LIMIT=$1
P=$MPWD
for ((i=1; i <= LIMIT; i++))
do
    P=${P%/..}
done
cd $P
export MPWD=$P
}

4
+1绝对˚F “荷兰国际集团的辉煌!我将使用这一个不少
09年

12
为什么用难读的代码替换易读的代码?如果源代码行更少,计算机运行速度是否更快?
Beska

3
gnud:用垃圾替换干净的代码吗?不用了,谢谢。
foxdonut

2
辉煌!我将其扩展为包括一种back方法,因此,每当您用尽时都可以使用它来回轻松地移动。要使用它,请将其放在您的bashrc中(对狗屎格式感到抱歉):function up(){LIMIT = $ 1 P = $ PWD for((i = 1; i <= LIMIT; i ++))做P = $ P /。完成cd $ P导出MPWD = $ P}函数back(){LIMIT = $ 1 P = $ MPWD for((i = 1; i <= LIMIT; i ++))do P = $ {P%/ ..} done cd $ P export MPWD = $ P}
ldog 2010年

2
我疯了吗?这到底是怎么工作的?脚本中的cd将在此处cd,但是当脚本存在时,您将返回相同/原始目录!我的bash与您所有的bash都不同吗?
johnnyB 2013年

67

超级远程重置按钮。
的架超级特殊模拟硬件(backin的日子,当一个完整的VME机箱的房间做了不到你的GPU),关于世界的另一侧的用户将崩溃在清晨的。进入实验室并通过安全性花了一个小时。

但是我们不允许连接到超级特殊控制器或修改硬件。解决方案是使用epson点阵打印机的老式DEC工作站,将塑料尺子粘在进纸旋钮上,将打印机放在复位按钮附近。
以常规用户身份登录WS(不允许root用户,所有外部端口均已锁定),打印带有24条空白行的文档-旋转进纸旋钮,然后在超级专用硬件上按一下标尺上的标尺。


很棒的故事!不知道是否相信你;)
格雷格·惠特菲尔德

最终,它被连接到串行端口DTR线上的电源开关继电器代替-但这需要root访问权限。我应该说DEC WS是因为它正在运行Ultrix。
Martin Beckett

哇,我们要竭尽全力争取安全!
克里斯·巴伦斯


5
如果那时我们有CD托盘,那将是一个更简单的解决方案,
马丁•贝克特

63

在Windows XP上,我设置了一个AT作业,每天在C:\下运行此命令。

dir /s /b * > dirlist.txt

这列出了C驱动器上所有文件的完整路径。然后,每当需要查找文件时,都可以使用findstr。使用Windows资源管理器搜索比这更好,因为它允许在整个路径上进行正则表达式匹配。例如:

findstr ".jpg" dirlist.txt
findstr /i /r "windows.*system32.*png$" dirlist.txt

这是设置非常快速的解决方案,如果您发现自己安装了全新的Windows并且没有Internet连接,则非常有用。

如果需要在某些文件类型中搜索某种模式,请首先列出所有需要检查的文件,然后在其中搜索。例如,要查找翻转图像的Java或Python程序,可以执行以下操作:

findstr "\.java \.py" dirlist.txt > narrowlist.txt
findstr /i /r /f:narrowlist.txt "flip.*image"

8
老兄,好主意。
Epaga

10
这正是unix定位程序的功能
Mark Ba​​ker

4
@Mark这表明即使您必须使用Windows,也可以从unix中学习很多有用的东西
Liam

1
我为“文档”文件夹制作了其中一个脚本,但似乎永远无法保持其组织性:-)
sep332

1
在那儿,我使用的是Google桌面搜索:D
尽管在2009年

38

我有一个Python脚本,在插入数码相机后会自动运行。

它将所有图片从相机的存储卡上复制下来,进行备份,然后将其上传到Flickr。


从Flickr上传文件的片段来自uploadr.py(我对此不以为然)。

这是用于卸载相机的Python代码。它通过SRCDIR递归,并在将图像复制到DESTDIR之前用日期和时间命名每个图像。

#!/usr/bin/python

import os
import string
import time
import shutil

###################################################
__SRCDIR__ = "/mnt/camera"
__DESTDIR__ = "/home/pictures/recent"
###################################################
def cbwalk(arg, dirname, names):
    sdatetime = time.strftime("%y%m%d%H%M")
    for name in names:
        if string.lower(name[-3:]) in ("jpg", "mov"):
            srcfile = "%s/%s" % (dirname, name)
            destfile = "%s/%s_%s" % (__DESTDIR__, sdatetime, name)
                    print destfile
            shutil.copyfile( srcfile, destfile)
###################################################
if __name__ == "__main__":
    os.path.walk(__SRCDIR__, cbwalk, None)

共享代码,我将分享投票:)
即使是Mien,

40
这将一直有效,直到您忘记前一天晚上拍的那些特殊照片为止……
Ed Guiness,

完整的过程实际上是一个两步过程。第一步,将东西从相机中转储并重命名。第二步提示您是否要上传到Flickr。这更多是因为上传占用了我的带宽,而不是因为我担心自己上传的内容。
Mark Biek

5
如何触发“插件运行”位?
ijw


32

几年前,我在几个win32 api的帮助下编写了一个winforms应用程序,将自己完全锁定了计算机一小时,从而迫使我继续锻炼。因为我很懒?不...因为我有个人健身目标。有时,您只需要一点踢即可开始:)


16

我编写了一个Python脚本,该脚本可以转到我阅读的所有网络漫画,然后下载任何新漫画。我每天只运行一次,不需要单独访问每个站点,只需访问/ Comics /文件夹。;)


嗯。如果这些是受广告支持的漫画,我会担心您没有冒着看到广告的风险就“付钱” :-)
Matthew Scouten 2010年

2
@Matthew-我明白您的意思,但是我不明白为什么不看广告是一个道德/伦理问题。在这种情况下,No-Script和弹出窗口阻止程序的作者需要做很多解释。;)
洋葱骑士

1
我对弹出式窗口拦截器没有任何问题,因为弹出式窗口是一种展示广告的滥用方式。这不完全是道德问题,更多是公平问题。我在大多数网站上都使用了adblocker,但是对于我经常访问并希望支持的某些网站,请关闭它。用python脚本获取漫画(根本根本看不到该站点)对我来说很重要,但我无法确切告诉您这行的位置。
马修·斯科腾

14

我的.cmd备份脚本。它每晚在我的服务器上运行,并根据工作日命名备份文件。整整一周的备份为我(和我的家人)节省了很多时间:

::备用参数:
:: / V验证?(是/否)
:: / R限制对所有者的访问?(是/否)
:: / RS可移动存储?(是/否)
:: / HC硬件压缩(开/关)
:: / M备份类型(正常/复制/差异/增量/每日)
:: / L日志文件类型(f / s / n)
:: / D“描述”
:: / J“职位名称”
:: / F“文件名”

地方性

::确保已安装网络驱动器
呼叫C:\ bat \ configs \ MapShares-home.cmd
回声

今天设置=%DATE:〜0.3%
如果%today%==周一设置为昨天= 0周日
如果%today%==昨天的星期二= 1星期一
如果%today%==昨天设置了周三= 2星期二
如果%today%==昨天设定为星期三= 3星期三
如果%today%== Fri昨天设置为= 4Thursday
如果%today%==昨天设置了星期六= 5星期五
如果%today%== Sun昨天已设置= 6Saturday

设置configsDir =%〜dp0
设置storePath = C:\ mybackups

::(例如:星期一C文件)
设置标题=%昨天%备份集


echo%DATE%%TIME%%title%>“%storePath%\%yesterday%_backup.log”

呼叫BackupConfigs.bat

::创建新的BKF文件
呼叫C:\ WINDOWS \ system32 \ ntbackup.exe备份^
    “ @%configsDir%\ daily.bks” ^
    / V:是/ R:否/ RS:否/ HC:关闭/ M正常/ L:s ^
    / D“%title%” ^
    / J“%title%.job” ^
    / F“%storePath%\%yesterday%.bkf” ^
    >>“%storePath%\%yesterday%_backup.log”

echo%DATE%%TIME%已完成>>“%storePath%\%yesterday%_backup.log”

复制“%storePath%\%yesterday%.bkf”“ V:\ Backups \ NEPTUNE”

呼叫C:\ bat \ clean-temps.bat

defrag -v C:>“%storePath%\%yesterday%_defrag.log”

::显示备份目录
开始/ D“ C:\ bat \ Backups \” checkbkf.bat

本地

::暂停


2
一些不错的.cmd文件技巧。我知道您可以使用'^'转义重定向和管道,但是我不知道您也可以将其用于行继续。酷:)
Patrick Cuff

世界需要更少的.bat脚本,而不是更多!:-)
JesperE'

2
结果是,世界需要更少的Windows。在此之前,这是最不常见的分母。我共享此脚本是因为成千上万的人可以按原样使用它。
克里斯·诺

14

“ backup.sh”可压缩目录的内容并将其发送到我的gmail帐户。


现在很酷。虽然我的电脑中没有smtp设置的计算机。可悲的是。
mxcl

请给我们代码吧?
科斯塔斯

14

我写了一个脚本,最终在团队中每天使用。当我以前在英特尔工作时,我们有一个与访问数据库对话的应用程序,以获取注册信息的转储(我从事验证芯片组的工作)。它将(从SQL查询中)获取此信息并将其转储到CSV文件,HTML文件和Excel文件中。整个过程耗时近2个小时。不是开玩笑。不知道为什么花了这么长时间。我们将在午餐前一个小时开始,先去吃午餐,然后再回来。

我认为必须有一种更好的方法来做到这一点。我与维护注册表数据库并从中获取SQL代码的团队进行了交谈。然后,我编写了一个perl脚本,该脚本捕获数据并将其输出为CSV,HTML和Excel格式。运行?大约1-2秒。速度有了很大的提高。

2006年在伊拉克部署时,我还写了一些剧本(我在国民警卫队服役9年-12月退役)。我们使用了这个名为ULLS-G(单位级物流系统-地面)的旧应用程序,该应用程序是用ADA编写的,最初是在DOS上运行的。他们在命令外壳中对其进行了充分的破解,使其可以在Windows XP上运行。该系统没有鼠标界面。一切都通过键盘完成,没有批处理功能。假设您要为所有车辆操作员打印许可证?嗯...我们部队有150名士兵,所以花了很长时间。假设每个人都拥有使用新车的资格,而您想将其添加到每个人的操作员资格中?您必须一一完成。

我能够找到SAGE数据库的ODBC驱动程序(使用了ULLS-G),因此我编写了能够与SAGE数据库对话的perl脚本。事情花了一个多小时,现在只花了几秒钟。我还使用了脚本和驱动程序进行报告。我们必须每天早晨报告到营的所有信息。其他单位每天早晨会用手写方式将信息写入。我整理了一个Excel宏,该宏使用相同的驱动程序进行通信,并与SAGE数据库通信,并以这种方式更新了Excel电子表格。这是最复杂且唯一的我编写过 Excel宏。它获得了回报,因为他们授予了我“陆军表彰奖章”。是的,我因撰写Perl脚本而在军中获得了一枚奖章:)有多少人可以这么说?;)


13

我是私人飞行员。我编写了一些脚本,这些脚本可从Aviationweather.gov获取当地机场的天气信息。它们对于快速回答“今天是否是美好的一天?”这一问题非常有用。


希望对您的乘客来说,如果Aviationweather.gov更改其布局并破坏您的解析器,您的脚本会很好地失败!
MatthieuP,2009年

1
您能分享一下脚本吗?
JJD 2011年

12

一个Greasemonkey脚本,从游戏网站Kotaku.com上删除了明显的愚蠢[*]评论

[*]如常见的拼写错误,全大写字母,过度使用“ LOL”和类似的启发式方法所标识。


6
凉。我感觉像提取正则表达式,并生成仅由匹配一个或多个表达式的表达式组成的随机语句。
gnud



11

一个perl脚本,按选定的类别将本地Craigslist刮入SQL DB,然后可以对其进行查询。

此版本的V2使用计时器更新数据库,并在我对任何查询进行匹配时提醒我,基本上为我提供了CL的后台代理。


8

通过拖放操作重命名海量文件。

多年以前,我已经制作了一个小的VBScript,它可以接受RegEx并相应地替换文件名。您只需将一堆文件或文件夹放在上面。我发现这些年来非常有用。

gist.github.com/15824(请注意,注释是德语的)


似乎很愚蠢地投票说明没有代码。
克里斯·诺

该代码对于网站而言可能有点过多。也许“小”有点轻描淡写。170 LOC。
Tomalak

如果您有兴趣,我可以将脚本上传到某个地方,然后在此处发布链接。
Tomalak

8

快速且肮脏的Python脚本,每5秒钟对google.com的DNS进行一次查找,如果成功,则会发出一声哔声,如果失败,则会发出两次哔声。

我写这篇文章的时候,我不得不住在一个高度脆弱的家庭网络中。即使当我第一次头顶穿过房间的桌子下面时,我的双手也充满了网络电缆和手电筒,它使我可以立即知道网络的状态。


5秒?一定很烦人。
Ponkadoodle

好吧,是的,它驱使我在30分钟左右后开始击球。这个想法是要尽可能接近实时反馈。我通常可以在大约10分钟内解决问题。
马修·史考登

8

从几个月前我在博客中发布的内容,到现在,我已经从一个我认为很酷的想法变成了我最近记忆中最好的小技巧之一。我在这里完整引用:

==================

我花了很多时间在bash上。对于刚起步的人,bash是一个可以在大多数UNIX机器上找到的系统,而且,幸运的是,这里有一些Windows和每台Mac。乍一看,它只不过是命令行界面,因此对于大多数用户来说,他们早已忘记了这种过时的东西,这使大多数用户无法理解。

我几乎全力以赴。我从命令行阅读了我的电子邮件,这就是为什么我避开了标记的电子邮件。我浏览目录,编辑文件,进行日常源代码校验和交付,搜索文件,搜索文件内部,重新启动计算机,甚至偶尔从命令行浏览网页。bash是我数字生活的灵魂。

麻烦的是,我倾向于一次打开大约6个bash窗口。今天,在工作中,我有一台运行Web服务器,另一台运行数据库,第三,第四和第五次编辑不同的文件,而第六次正在遍历我的机器,试图记录系统上每个文件的名称。为什么?因为如果您想知道按文件名查找对象的位置,便可以方便地搜索此类档案。

当您执行此操作时,最终会在控制栏中出现很多窗口,名称分别为“ bash”。如果您只有其中之一,这很好,但是当您有6个或更多时,它又是痛苦的....还有其他二十多种情况。在一对键盘/鼠标对的同时命令下,我有三台显示器,但我仍然觉得需要更多。这些窗口中的每一个都有几个bash终端打开。

所以我一起喝了。首先,将这些行放在您的.bash_profile中:

  export PROMPT_COMMAND='export TRIM=`~/bin/trim.pl`'
  export PS1="\[\e]0;\$TRIM\a\]\$TRIM> "
  trap 'CMD=`history|~/bin/hist.pl`;echo -en "\e]0;$TRIM> $CMD\007"' DEBUG

我仔细阅读并撰写了许多段落,介绍了这一切的工作原理以及确切的设置原因,但是您并不是很感兴趣。相信我。一整本书介绍了为什么我要“ CMD =...在第三行 ; echo ...”,这。许多人(包括托管我的其他域的bluehost)仍在使用旧版本的bash,但在处理陷阱方面存在重大错误,因此我们坚持使用此方法。如果您使用的是最新的bash版本并且希望进行研究,则可以删除CMD并将其替换为$ BASH_COMMAND。

无论如何,我使用的第一个脚本在这里。它会创建一个不错的提示,其中包含您的计算机名称和目录,并切成合理的长度:

                       ============trim.pl===========
  #!/usr/bin/perl

  #It seems that my cygwin box doesn't have HOSTNAME available in the 
  #environment - at least not to scripts - so I'm getting it elsewhere.
  open (IN, "/usr/bin/hostname|");
  $hostname = <IN>;
  close (IN);
  $hostname =~ /^([A-Za-z0-9-]*)/;
  $host_short = $1;

  $preamble = "..." if (length($ENV{"PWD"})>37);

  $ENV{"PWD"} =~ /(.{1,37}$)/;
  $path_short = $1;

  print "$host_short: $preamble$path_short";

                        ==============================

在此博客文章的开头有一个警告,您在开始问诸如“为什么不只是通过@ENV使用HOSTNAME环境变量?”这样的愚蠢问题之前,应该立即阅读。简单:因为这不适用于我尝试过的所有系统。

现在,让您真正酷起来。还记得.bash_profile添加的第3行吗?

  trap 'CMD=`history|~/bin/hist.pl`;echo -en "\e]0;$TRIM> $CMD\007"' DEBUG

它会将trim.pl脚本输出转储到与以前相同的容器中,同时打印到命令提示符和窗口标题,但是这次添加的是您刚刚键入的命令!这就是为什么您不想在.bashrc中执行所有这些操作的原因:您运行的任何脚本(在我的机器上,人就是其中之一)将在每一行触发该操作。我们在这里所做的事情使人的输出严重混乱。我们在终端上玩得并不好。

为了获取您刚刚键入的命令,我们将bash的历史记录进行了切分:

                        ===========hist.pl============
#!/usr/bin/perl

while (<STDIN>)
{
        $line = $_
}

chomp $line;
$line =~ /^.{27}(.*)/;
print $1;
                        ==============================

所以现在,我有一个数不胜数的窗户,他们说:

  castro: /home/ronb blog
  Ron-D630: /C/ronb/rails/depot script/server
  Ron-D630: /C/ronb/rails/depot mysql -u ron -p
  Ron-D630: /C/ronb/rails/depot find . > /C/ronb/system.map
  Ron-D630: /C/ronb/rails/depot vi app/views/cart.html.erb
  Ron-D630: /C/perforce/depot/ p4 protect
  Ron-D630: /C/perforce/depot/ p4 sync -f
  Ron-D630: /C/perforce/depot/

现在,从屏幕底部的快乐小栏,我可以一眼看出哪个是哪个。并且因为我们已经设置了PS1,所以命令完成执行后,命令名称将再次由trim.pl的输出替换。

更新(同一天):当我在.bashrc中进行尝试时,这些东西(.bash_profile条目)使我陷入了各种各样的困境。每当您以一种语言调用bash时,.bashrc就会由非交互式脚本执行。当我尝试使用人时碰到了这个。各种垃圾(我的.bashrc的全文,以及转义字符)都显示在手册页的顶部。我建议一旦您将它们放在一起,就可以在命令行中使用快速的“ man man”调用来测试此gem。

我想是时候该从我的.bashrc中提取自定义垃圾了,并放到它所属的地方了...

偶然地,我发现自己在此过程中的某一时刻键入了“ man trap”。


8

在我以前的工作地点,上班时间很荒谬。那是一家软件公司,我的老板很烂。他会在下午5:30左右给我们工作(正好是该回家的时间),并让我们完成工作直到晚上11:00为止(超过我们理想的生产时间)。否则,他会在仍在进行的代码中发现烦人的问题。

因此,我制作了一个批处理文件和一个脚本,该脚本将在7:00 PM至8:00 PM之间的任意时间关闭计算机。它有一个1分钟的计时器,以防万一我下班后呆在这里并且需要中止关机过程。

但是我会在下午5:00之前离开我的办公桌,所以如果他想在结帐时间附近丢下垃圾,他就找不到我要保留我。如果他来到我的办公桌上并看到我的电脑,他会认为我仍在厨房区域或附近的小型超市里,要拿些薯条或其他东西。但是,如果那段时间不在家,他会打给我手机,告诉我回到办公室。

我还计划将计算机上的BIOS设置为在8:00 AM或9:00 AM左右打开计算机,以防我感到懒惰并想在10:00 AM或11:00 AM左右漫步。如果我被发现走到办公桌前,他会问:“你整个早上都在哪里?” 我会说:“我正在与营销团队开会。” 或“我出去吃早餐。”

笨狗


7

我曾经在一个技术夏令营工作,我们不得不在一周结束时为小组中的每个孩子编写这些作业,然后他们会收到这些作业并将其带回家作为纪念品。通常,它们由一堆通用句子和一到两个个性化句子组成。我写了一个python脚本,用一堆罐装句子构造了其中的一些文字,并允许用户在中间添加几个个性化的句子。这为我和我秘密透露的其他顾问节省了大量时间。尽管其中很多都是自动化的,但我们的文章看起来仍然比许多“诚实的”文章要好,因为我们可以花更多时间在个性化部分上。


6
#! /bin/bash
# check to see if site is up
#   if it is, don't worry
#   if it's down, restart apache after get a process listing
#
# v.1 Warren M Myers - initial stab
#     31 Aug 06
#

ERRCOD='7'
WHEN=`date +%d%b%y`
REPT="~/psaux.$WHEN.txt"
STARS='********************'

curl -I http://www.shodor.org > /var/tmp/curlret.txt

if [ "$?" = "$ERRCOD" ]; then
    # return was unable to connect to host: save ps -aux; mail report
    ps -aux > $REPT
    echo $STARS
    echo 'curl return results'
    echo
    cat curlret.txt
    echo
    echo $STARS
    echo 'ps -aux results'
    cat $REPT
    echo
    echo $STARS
    echo 'restarting apache'
    /etc/init.d/apache2 restart
    echo 'apache restarted'
    echo
    echo "ps -aux results saved in $REPT"
fi

rm -f /var/tmp/curlret.txt


6

一个小脚本,用于监视一些受欢迎的网站,查找与我的技能匹配的广告,并通过电子邮件向我发送电子邮件。


6

我将此用作自动加载的功能。我只要输入“ mycd”,就会出现一个我经常使用cd访问的目录列表。如果我碰巧知道数字,那么我只能说“ mycd 2”。要将目录添加到列表中,只需键入“ mycd / tmp / foo / somedirectory”。

function mycd {

MYCD=/tmp/mycd.txt
touch ${MYCD}

typeset -i x
typeset -i ITEM_NO
typeset -i i
x=0

if [[ -n "${1}" ]]; then
   if [[ -d "${1}" ]]; then
      print "${1}" >> ${MYCD}
      sort -u ${MYCD} > ${MYCD}.tmp
      mv ${MYCD}.tmp ${MYCD}
      FOLDER=${1}
   else
      i=${1}
      FOLDER=$(sed -n "${i}p" ${MYCD})
   fi
fi

if [[ -z "${1}" ]]; then
   print ""
   cat ${MYCD} | while read f; do
      x=$(expr ${x} + 1)
      print "${x}. ${f}"
   done
   print "\nSelect #"
   read ITEM_NO
   FOLDER=$(sed -n "${ITEM_NO}p" ${MYCD})
fi

if [[ -d "${FOLDER}" ]]; then
   cd ${FOLDER}
fi

}

当我运行“ mycd”时,我得到:“-bash:打印:找不到命令”。当我使用“ mycd / folder /”时,它不会向/tmp/mycd.txt添加任何内容。我的设置有误吗?
莱奥列奥波尔德·赫兹준 영

嗯,是的,您可能希望将'print'语句替换为'echo'。;-)
wzzrd

@wzzrd多么令人羞辱;)非常酷的功能,@ Ethan Post。感谢你的分享!
莱奥列奥波尔德·赫兹준 영

5

我喜欢根据拍摄日期将照片存储在目录中。因此,我编写了一个程序,该程序将扫描存储卡中的图片,并根据图片的日期在硬盘上创建所需的任何文件夹,然后将其复制到其中。


想要在此处添加脚本吗?我喜欢这个功能,我做同样的事情!
法老

这是ac#应用程序,恐怕不是脚本。
Valerion

您是否使用存储在照片中的exif信息?您能分享一下脚本吗?
JJD 2011年

5

编写脚本以单击我的开始按钮,然后在半秒钟内再次单击它,然后每30秒重复一次。

使我在工作时保持在线状态,并且可以在其旁边的个人笔记本电脑上完成真正的工作。不被工作软件所困扰。

不要告诉老板:)


哈哈哈,好东西。+1代表诚实与不诚实!:)
凯尔·沃尔什

4

“ net start”和“ net stop”命令的各种快捷方式,因此无需进入服务MMC即可启动和停止服务



4

一个小型应用程序,在“ X”毫秒内每“ X”毫秒单击(或双击)一段时间。不再需要那只酒鸟在核电站工作!;)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.