Questions tagged «scripting»

脚本是由解释程序执行而不是编译为独立可执行程序的命令或指令序列。

3
使用本地参数值执行远程脚本
如何自动执行此任务? 1)您在A。2)在ssh中进入B。3)在B处运行脚本,该脚本需要A处已知的参数。 首先,我想当我用ssh打开连接时也许可以发送该值。然后,可能更简单,在1)和2)之间,将整个脚本覆盖到B的相同位置(替换旧的脚本)。但是,如何在B 执行脚本?(也就是说,如何自动执行最后一步。当然,我可以在ssh之后手动运行它。) 另一个想法,也许是完全不使用ssh-我在B处有一个网页,那么该脚本是否可以通过“幕后” Web界面调用? 还是您会以完全不同的方式来做?
8 ssh  scripting  scp  web 

7
Linux脚本或程序以缩短文件名
我找不到Linux版本的namemangler并没有取得很大的成功,我需要重命名1000个文件,以便它们在Windows上可读。 有谁知道可以执行此操作的Linux程序? 如果没有,那么脚本可能会起作用,因为我只需要将文件夹中的所有文件重命名为前16个字符。我怀疑脚本路线可能值得一试,但不确定从哪里开始。

4
Shell编程,避免使用临时文件
我经常编写遵循相同模式的KSH Shell脚本: (1)从一个或多个命令检索输出 (2)使用grep | cut | awk | sed格式化并打印到屏幕或文件中 为了做到这一点,我经常将(1)的输出存储在一个临时文件中,然后对该文件进行(2)的格式化。 以该代码为例: TMPFILE=file.tmp # If tmpfile exists rm it. [ -f $TMPFILE ] && rm -f $TMPFILE for SERVICE in $(myfunc); do getInfo $SERVICE > $TMPFILE # Store raw output in the TMPFILE # I retrieve the relevant data from …
8 shell  scripting  ksh 

1
自动增量备份到外部驱动器
背景 客户需要对外部驱动器的自动备份解决方案(每周在异地进行)。我通常会建议rsnapshot(或推出一个自定义rsync脚本),但是这个问题要涉及一些。 基于Arch Linux的系统没有头绪,因此该解决方案必须完全自动化,无需用户干预。 理想的情况如下: 用户插入USB硬盘驱动器 进行完整的增量备份 硬盘驱动器已卸载 通知用户可以拔出硬盘驱动器 提案 我提出的解决方案包括: 一个udev规则自动安装驱动 备份开始于: 相同的udev规则也会触发rsnapshot脚本 一个inotify的 创建事件检测到新的安装点和触发器rsnapshot 后rsnapshot退出,umount是跑在驱动器上 可以删除通知硬盘的可能方法: CD驱动器打开 通过PC扬声器播放声音 如果任何时候发生错误,请向用户发送电子邮件并卸载驱动器。 问题 我的建议似乎可行,但有明显的缺陷吗?我如何使其坚固? 为了安全起见,如何确保插入的硬盘是用户的硬盘?ssh钥匙?驱动器标签? 是否有现有的(Linux)解决方案包含此内容?

4
是否可以在非交互模式下执行VIM脚本?
Gnats错误跟踪程序有一个命令(edit-pr),可在$ EDITOR中打开故障单。我的$ EDITOR是VIM,当此命令在$ EDITOR中打开故障单时,我想自动执行一些脚本编辑,而不必进行任何其他的击键。 有没有办法编写可以像这样非交互式运行的VIM脚本?
8 vim  scripting 

4
您是否喜欢bash脚本或别名作为快捷方式?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3年前关闭。 我有一个~/bin目录(位于上PATH),其中存储了很多小的1或2行脚本。其中一些只是cd进入目录并在文件之类的文件上运行命令vim。但是我的文件中还有很多别名,.bash_aliases它们起着相同的作用。 在编写一些bash脚本和编写别名之间,您如何决定?到底走哪条路都重要?

3
将窗口移至所有桌面的命令
我希望能够使用可编写脚本的命令(而不是通过窗口菜单)将现有窗口移动(固定)到所有桌面。 wmctrl -r <WIN> -t <DESK>会将窗口移到其他桌面,但是我还没有找到一种方法来使该窗口显示在所有桌面上。 wmctrl -l显示-1为在所有桌面上显示的Windows的桌面号,但传递-1给-t不起作用。 尚未解决的fedora错误报告似乎解决了此问题:显然-1值由内部使用wmctrl,因此不能传递给-t。错误报告还提到可以通过为目标窗口提供粘滞属性来将窗口固定在某些窗口管理器中。但是,我正在运行openbox,这种方法似乎对我不起作用。实际上,有一个补丁发布到了该错误报告。我没有尝试使用它。是从2009年开始的。我希望避免打补丁wmctrl或其他任何操作。 有没有另一种方法可以编写脚本以在openbox下工作呢?

3
如何从另一个路径运行脚本,并知道脚本的路径?
我需要运行一个脚本,该脚本以与文件位于相同的路径访问文件。 例如:我有脚本/home/me/folder/script.sh,该脚本将访问文件/home/me/folder/myfile。由于文件位于脚本的相同路径中,因此我只使用name myfile而不是完整路径。 但是,如果我从运行它/tmp/,例如: /tmp$ /home/me/folder/script.sh 它给了我: myfile: No such file or directory 因此,如何在脚本中说出文件与脚本本身位于同一路径?

1
ksh作废-eq的原因
Ksh的最新版本已过时,不再使用-eq在[[ ]]块内使用,(( ))而是取而代之。为什么是这样?我找不到任何有关(( ))over 优势的文档[[ ]],而且我发现该语法更加明显。 例如: #!/bin/ksh var=1 if [[ $var -eq 1 ]] then echo ALPHA fi 给 [adam@hendrix test]$ ksh -n test.sh test.sh: warning: line 3: -eq within [[...]] obsolete, use ((...))

1
什么是用于VMS DCL“ ON ERROR”的Linux?
使用VMS DCL命令脚本,可以使用以下on error命令捕获错误: $ on error then goto MyErrorHandler $ directory samiam.txt $ delete x.txt $ exit $MyErrorHandler: $ print "Something." 在Linuxland中如何做到这一点? 在此示例中,directory或错误delete将导致控制权转到MyErrorHandler。

1
如何以编程方式控制X11转发的应用程序?
我想设置X11转发以在服务器上运行远程X应用程序,并且X11客户端可以处理UX交互。 但是,我想配置X11客户端或将其伪造为以编程方式实际执行用户交互(通过脚本)。 例如,我要运行一个需要一些鼠标单击或键盘交互(例如安装程序)的应用程序,因此我可以通过编程方式将这些单击或键盘按键信号从脚本发送到应用程序,直到完成为止。 有可能吗?如何做到这一点或从哪里开始?或者,我如何重用/劫持X11协议以注入自己的非用户交互作用?

1
从文件中提取两个值
我想从一系列.txt文件中提取两个值。 这是我的.txt文件的最后两行(第49行和第50行) 1 13593 3434 2.2585 0.9 2 3333 333 3.7118 0.8 我想从每个.txt文件中提取第49行和第50行的第4列(例如2.2585和3.7118)。 有办法吗? 非常感谢
1 scripting 

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.