Tag: bash

特殊字符和解析BUG – Bashscript

Failed to parse arguments: Argument to “–command/-e” is not a valid command: Text ended before matching quote was found for “. (The text was ‘”cpulimit’) 这是我在终端中运行以下脚本时得到的 #!/bin/bash read -p “Which program u want to limit its processes?” ProgrameName read -p “Which limitation percentage u want for it ?” limitationPercentage getAllPIDRunUnderThisProgram=$( ps -e | grep “$ProgrameName” […]

Crontab启动时运行脚本

我有一个执行命令的.sh。 我想使用crontab -e并输入文件@reboot / path / to / command。 如何在一个命令中执行此操作而不是单独运行crontab -e然后手动插入该行然后保存该文件。

/ bin / sh,/ bin / bash和/ bin / dash全部坏了,我该如何重新安装它们

删除了所有/bin/sh , /bin/bash和/bin/dash 。 我无法安装它们因为dpkg和apt-get需要安装shell而且没有shell可用。 我还在登录,我的Ubuntu仍在运行。 有没有办法从这种情况中恢复过来。 顺便说一下,我现在没有Live CD。

执行期间还有哪些其他bash变量可用,例如$ USER可以帮助我的脚本?

这与问题有关为什么绕过SUDO密码? 。 其中一个响应者以一种很棒的方式回答了这个问题,并且非常非常清楚任何新手。 现在这是一个我似乎无法想象的问题。 我写了一个用于启动vmware firefox插件的脚本(不用担心。我放弃了,现在非常高兴地运行vBox。我把vmware留给了我的服务器:)) 我需要以sudo的身份启动插件,但我还需要向它传递一个参数(密码),这恰好是相同的。 所以,如果我的密码是Hello123 ,那么命令就是: sudo ./myscript.sh hi other Hello123 从命令行运行,脚本会询问我的sudo密码,然后运行。 我想捕获该密码并传递它。 我也想以图形方式运行,所以我尝试了gksudo,并且有一个选项-p ,它返回变量赋值的密码。 嗯,这是一场噩梦,因为我仍然会被提示输入原始的sudo:见下文 Find UserName vUser=$USER Find password (and hopefully enable sudo) vP=gksudo -p -D somedescriptiontext echo Execute command gksudo ./myscript.sh hi $vUser $vP 而且我仍然会被提示两次。 所以我的问题是三方面的: 是否有可用于密码的变量,就像有一个用户, $USER ? 是否有不同的方式我应该分配我在$vP中的命令的结果值? 我想知道如果执行我拥有它的方式,它是在一个没有启动的会话而不是当前的会话,因为我在一些变量上得到一些额外的警告类型错误。 我尝试使用Zenity来捕获文本,但当然,我无法将该值传递给sudo,因此我只能将其用作参数,这使我回到2个提示中。

将特定字符串添加到数组sed / awk / grep

我有这个 ciscoFlashCopyStatus OBJECT-TYPE 语法整数 { copyOperationPending(0), copyInProgress(1), copyOperationSuccess(2), copyInvalidOperation(3), copyInvalidProtocol(4), copyInvalidSourceName(5), copyInvalidDestName(6), copyInvalidServerAddress(7), copyDeviceBusy(8), copyDeviceOpenError(9), copyDeviceError(10), copyDeviceNotProgrammable(11), copyDeviceFull(12), copyFileOpenError(13), copyFileTransferError(14), copyFileChecksumError(15), copyNoMemory(16), copyUnknownFailure(17), copyInvalidSignature(18) } MAX-ACCESS只读 状态当前 我想做的事 有些命令将VARIABLE每个名称复制到名为var的数组中 所以输出的例子 echo“$ {var [0]} copyOperationPending echo“$ {var [1]} copyInProgress echo“$ {var [2]} copyOperationSuccess 等等.. 任何想法我怎样才能做到这一点? 注意这是一个类似的问题,我之前曾问过一些事情是如何改变的,我不能再使用旧问题中提供的相同解决方案了。

从html文件的单引号中获取文本

我有一个html源文件,我需要提取其中的链接,链接数量因文件而异,链接格式如此,并且在单引号内: ../xxx/yyy/ccc/bbbb/nameoffile.extension 我需要在单引号之间获取文本,用http://替换..并将结果输出到文件。 我是一个新手,正在寻找一个解决方案来自动化终端中的这个过程。 它的html源文件和链接在文件中无处不在,我需要在文件中输出每行一个链接传递给我现有的xargs curl进行下载。 样本文件几乎是这样的: blabla blibli afg fgfdg sdfg blo blo href= ‘../xxx/yyy/ccc/bbbb/nameoffile1.extension’ target blibli bloblo href= ‘../xxx/yyy/ccc/bbbb/nameoffile2.extension’ blibli bloblo href= ‘../xxx/yyy/ccc/bbbb/nameoffile3.extension’ … 查找的结果是包含以下内容的文件: http://zzcom/xxx/yyy/ccc/bbbb/nameoffile1.extension http://zzcom/xxx/yyy/ccc/bbbb/nameoffile2.extension http://zzcom/xxx/yyy/ccc/bbbb/nameoffile3.extension 请有人帮助我找到解决方案。 源文件尽可能接近: Inter num num – nil Test d’épreuveReçu le 11/03/2018 à 17:49 Client : zzz – Référence : 232323 – Désignation : Fiche d’accueil […]

如何在终端中使用CTRL + HOME?

当我在图形模式下使用emacs时,我可以使用Ctrl + Home转到缓冲区的开头。 在bash中,emacs将无法识别该组合,只能看到Home 。 我在这里检查过 ,在图形模式下我得到了 ,但是在bash中我得到了 。 如何在bash的emacs中使用Ctrl + Home ? (或任何终端:也用guake检查) 编辑 在获得@steeldriver的一些信息之后,我做了以下测试:运行$ hexdump -C然后按Ctrl + Home ,结果如下: xfce4-terminal 0.6.3: ^[OH Guake! 0.4.4: ^[OH XTerm(297): ^[[1;5H 在xfce-terminal中,我改变了字符编码(Preferences \ Advanced),但似乎没有用。

删除所有格式为08-20-2018_01:24-PM的最新文件

我使用它来更容易看到备份脚本何时运行。 touch /media/andy/MAXTOR_SDB1/Ubuntu_Mate_18.04/$( date ‘+%m-%d-%Y_%I:%M-%p’ ) 我想要一个脚本除了最新的文件,只删除这种类型08-20-2018_01:24-PM

如何防止脚本在apt-get之后停止?

我保留了一些bash片段,并在我需要管理时复制并粘贴它们。 但我发现apt-get取消了脚本执行。 这是我的脚本有问题。 apt-get -y install gcc g++ make cmake perl cd ~/ mkdir t1 cd t1 我将此脚本在OS X终端上复制并粘贴到Ubuntu 12.04 LTS服务器(在VM上全新安装)脚本在apt-get完成后始终停止。 我用这样的root帐户运行这个命令。 ssh user1@server sudo su apt-get -y install gcc g++ make cmake perl cd ~/ mkdir t1 cd t1 这可能是个问题吗? 或者为什么我的脚本在apt-get完成后停止,以及如何让它继续?

如何使用cron每小时在bash中启动交互式shell脚本?

我把这行放在crontab中: 1 * * * * DISPLAY=:0.0 /usr/bin/gnome-terminal -e /home/user/Desktop/mltpl 该脚本是可执行的。 如果在终端中粘贴该命令 – 即没有星号的字符串,它可以完美地工作: DISPLAY=:0.0 /usr/bin/gnome-terminal -e /home/user/Desktop/mltpl 我试过了: sudo service cron restart 但问题仍然存在。 我怎样才能让cron每小时运行一次命令? 更新。 得到它与ROOT crontab一起使用: 1 * * * * DISPLAY=:0 XDG_RUNTIME_DIR=/run/user/1000 XAUTHORITY=/home/user/.Xauthority /usr/bin/gnome-terminal -e /home/user/Desktop/mltpl