Articles of shell

在Linux上将一组文件重命名为001,002 …

我原来有一组图像的formsimage_001.jpg,image_002.jpg,… 我经历了他们,并删除了几个。 现在我想将剩余的文件重命名为image_001.jpg,image_002.jpg,… 有没有一个Linux命令可以做到这一点? 我熟悉重命名,但不能看到任何东西来订购这样的文件名。 我在想,因为ls *.jpg按顺序列出文件(有间隙),解决方法是将输出传递给bash循环或其他东西?

检查环境variables是否已经设置

我正在写一个shell脚本,我必须检查是否设置了环境variables,如果没有设置,那么我必须设置它。 有没有办法检查shell脚本,是否已经设置了环境variables?

通过ssh在远程服务器上执行命令

我试图通过本地服务器上的ssh命令在远程Linux服务器上执行命令,如下所示: ssh myremoteserver'type ttisql' 其中ttisql是我的远程机器的path上的可执行文件。 运行的结果是: bash:第0行:input:ttisql:找不到 当我简单地连接并且做: ssh myremoteserver 然后input命令: [myuser @ myremoteserver〜] $:inputttisql 我找回了ttisql exe的path,正如我所期望的那样。 奇怪的是,当我在我的testing版环境中执行第一个命令时,它按预期工作并返回exe的path。 在testing版场景中,机器A连接到远程机器B,但两台机器都在现场,并且ssh命令可以快速连接到远程机器。 在我的生产环境中遇到问题,当机器A是本地的,机器B是异地的,并且ssh命令需要一两秒钟才能连接。 我能看到的唯一区别是生产ssh连接的时间。 远程系统上的path是正确的,因为如果在初始连接之后input该命令,则该命令工作。 任何人都可以帮助我理解为什么这个简单的命令可以在一个环境而不是另一个环境中工 问题可能与通过SSH连接所花费的时间有关吗?

在linux中启动一个jar文件就好像service

我想要启动并停止我的jar文件,如下所示 service myService start service myService stop 我目前的jar文件运行如下 cd /home/alex/IdeaProjects/myService java -jar target/myService-SNAPSHOT-1.jar server config.yml 我该怎么办?

如何在Android shell中复制和编辑文件?

Androidshell没有cp命令。 Androidshell也没有sed或grep或vi 。 我没有可用的adb守护进程。 有mv命令,但如果源位于只读设备上,则拒绝工作。 如果我必须recursion地从只读设备复制一些目录,该怎么办? 如何更改文本文件中的一行(例如“PATH = / cache”为“PATH = / mnt / asec”)?

如何在shell脚本中添加一行到文件中?

我想将一行标题添加到现有的CSV文件中,进行编辑。 我怎样才能做到这一点? echo 'one, two, three' > testfile.csv 我想结束 column1, column2, column3 one, two, three (改变最初的CSV输出不在我手中) 编辑:我最初有这个'使用sed',但任何标准的命令会做。 重要的是文件被编辑到位,并且该行被插入到文件的开头。 谢谢,

Shell脚本参数parsing

关于这种事情有很多问题,但是让我们假设我们的目标是一个通用的Linux系统,同时安装了getopt和getopts(不是我们也会使用它们,但是它们似乎很受欢迎) 如何parsinglong(–example | –example simple-option)和short argruments(-e | -esimple-example | -e simple-example)

如何在Linux / Unix上添加基于文件types的文件扩展名?

这是一个关于Unix shell脚本(任何shell)的问题,但是也可以理解任何其他的“标准”脚本语言解决scheme: 我有一个目录充满文件的文件名是这样的散列值: fd73d0cf8ee68073dce270cf7e770b97 fec8047a9186fdcc98fdbfc0ea6075ee 这些文件有不同的原始文件types,如png,zip,doc,pdf等 任何人都可以提供一个脚本来重命名这些文件,以便它们获得适当的文件扩展名,可能是基于file命令的输出? 回答: JF塞巴斯蒂安的脚本将同时用于输出文件名以及实际的重命名。

如何使ssh-add从一个文件读取密码短语?

我正在尝试在ssh-agent添encryption钥,并希望使用ssh-add从文件中读取密码。 如何可能? 如何从shell脚本自动化这个过程?

在共同locking文件中的竞争条件?

这是使用文件系统创build锁的标准方法。 例如,visudo使用它: [ -f ".lock" ] && exit 1 touch .lock # do something rm .lock 1)我很困惑,因为有一个竞争条件,但Linux使用它 2)有没有更好的方法来locking文件从壳? 3)还是我必须使用目录呢? find解决办法:man lockfile。