首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

通过ssh将变量传递给shell脚本

是一种在远程服务器上执行脚本并传递参数的方法。SSH(Secure Shell)是一种网络协议,用于在不安全的网络中安全地进行远程登录和执行命令。

要通过ssh将变量传递给shell脚本,可以使用以下步骤:

  1. 在本地机器上使用ssh命令连接到远程服务器:ssh username@remote_server_ip其中,username是远程服务器的用户名,remote_server_ip是远程服务器的IP地址。
  2. 在远程服务器上创建一个shell脚本文件,例如script.sh:nano script.sh在脚本中,可以使用$1$2等特殊变量来接收传递的参数。
  3. 将要传递的变量作为参数传递给shell脚本:bash script.sh variable1 variable2其中,variable1variable2是要传递的变量值。
  4. 在shell脚本中获取传递的变量:#!/bin/bash echo "Variable 1: $1" echo "Variable 2: $2"

通过以上步骤,你可以通过ssh将变量传递给shell脚本并在远程服务器上执行相应的操作。这种方法常用于远程服务器的自动化部署、批量处理等场景。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

恶意ip加入ssh黑名单的自动化shell脚本实现 - wuuconixs blog

使得frps的日志文件里整页都是这些记录,让人看了十分害怕,当时我被迫暂停ssh的内网穿透服务,向这位骇客妥协了。 今天闲来无事,遂决定写一个脚本来自动ban这些恶意连接的ip。...实现过程 经过一些周折之后写完了以下shell脚本 #!...写完了脚本,那我们怎么让它定时自动执行呢? 这里我用到了crontab这个强大的工具。...战术总结 通过这次实践熟悉了shell编程的强大之处、了解iptables命令的基本用法、了解crontab强大的定时执行功能 虽然好像今天没有恶意ip来连接我ssh了,测试都是用的我自己的手机2333...但是这也是好事,以后可以没有后顾之忧地使用ssh内网穿透到我的实验室机器啦!

81820
  • 恶意ip加入ssh黑名单的自动化shell脚本实现 2.0 - wuuconixs blog

    背景 之前写的AutoBan 1.0脚本在写好后的很长一段时间里都没什么人来爆破我的8022端口,以至于我觉得这种情况一直持续下去。...解决办法 由于一代脚本写的过于蹩脚,判断条件也过于拉跨,遂决定重构。 2代脚本的判断条件: 筛选出最近一分钟的所有ssh记录。对其ip种类、个数进行统计。 大于3条请求的ip将被直接封禁。...了解到了grep 配合上管道符|,实现在前一个grep的结果作为后一个grep的输入,实现多关键字匹配的问题。 了解到了awk命令里强大的内置函数,熟悉的substr, index,梦回c++。...初次见到了declare申明变量的关键字和let关键字,let关键字让丑陋的(())消失了。...了解了shell中遍历数组的两种方法 for ip in {ips[@]} 表示便利数组里的值,而 for ip in {!ipinfo[@]} 即在数组名前加上叹号,则表示遍历下标。

    95830

    expect java,Expect 使用详解「建议收藏」

    该工具利用Unix伪终端包装其子进程,允许任意程序通过终端接入进行自动化控制;也可利用Tk工具,交互程序包装在X11的图形用户界面中。 我们通过Shell可以实现简单的控制流功能,如:循环、判断等。...shell脚本中的变量需要对于expect中的变量. 2.1 使用例子 2.2 首先安装expect [shell] Centos OS yum 安装 yum install -y expect Ubuntu...系统安装 apt-get install expect [/shell] 2.3 例子一:SSH 自动远程支持mkdir #提示写expect 需要两个脚本一个 .exp 和 .sh 如下: #创建一个...shell命令、其中date 是加的shell脚本中的时间变量 expect { “yes/no” {send “yes\r”;exp_continue} #行交互动作,与手工输入密码的动作等效。.../expect_mkdir.exp date password #执行并参 [/shell] 2.5 例子2 自动SCP 命令 [shell] [root@xuebao shell]# cat expect_app.exp

    2.9K40

    命令行参数

    node中可以通过process.argv来获取参数 新建一个shell.js console.log(process.argv); 在终端输入 node shell.js [ '/Users/xxxx...它的每一个属性,对应一段脚本。比如,build命令对应的脚本是node build.js。 原理 执行npm run ,会自动创建一个shell, 在这个shell里面执行指定的脚本命令。...比较特别的是, 这个shell 会自动当前目录下的node_modules/.bin子目录加入PATH,执行结束, 再将PATH变量恢复原样 通配符 由于 npm 脚本就是 Shell 脚本,因为可以使用..."test": "tap test/\*.js" 命令行参数发送到npm脚本: npm run [command] [-- ] 注意必要的--,需要将参数传递到npm命令本身,并将其传递给脚本...使用webpack.DefinePlugin在打包时对文件中的变量进行替换 plugins: [ new webpack.DefinePlugin({ 'domain': process.argv

    1.9K20

    详解自动交互命令expect,免去手动输入!

    what hao #6.exit命令 exit命令的功能类似于shell中的exit,即直接退出expect脚本,除了最基本的退出脚本功能之外,还可以利用这个命令对脚本做一些关闭前的清理和提示等工作 expect...在expect里也有与shell脚本里的0、!...、 在expect中argv表示参数数组,可以使用[lindex argv n]接收expect脚本参,n从0开始,分别表示第一个[lindex argv 0]参数、第二个[lindex argv 1...提示:if关键字后面要有空格,else关键字前后都要有空格,{条件表达式}大括号里面靠近大括号出可以没有空格,指令括起来的起始大括号”{“ 前要有空格 #示例1 #使用if语句判断脚本参的个数,如果不符合则给予提示...,可以通过为这个变量赋值来规定整个expect操作的时间,注意这个变量是服务于expect全局的,而不是某一条命令,即使命令没有任何错误,到了时间仍然会激活这个变量,此外,到时间后还会激活一个处理及提示信息开关

    4.1K31

    Linux之expect工具免交互式shell脚本执行

    Linux之expect工具是一个根据脚本与其他交互式程序进行交互。通过脚本中设定期望值和响应值进行交互操作。主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。...以SSH KEY 生成以及发送到远程服务器为例简单介绍下expect工具 expect 启用选项: -c执行脚本前先执行的命令,可多次使用-ddebug模式,可以在运行时输出一些诊断信息,与在脚本开始处使用...需要进入到expect环境才可以执行,不能直接在shell环境下直接执行set timeout n设置超时时间,表示该脚本代码需在n秒钟内完成,如果超过,则退出。...如果设置为-1表示不会超时set定义变量$argvexpect脚本可以接受bash的外部参,可以使用[ lindex $argv n ]n为0表示第一个参,为1表示第二个参,以此类推expect从交互程序进程中指定接收信息...exit退出expect脚本expect eofspawn进程结束后会向expect发送eof,接收到eof代表该进程结束interact执行完代码后保持交互状态,控制权交给用户。

    1.1K10

    ansible之playbook功能简述

    易于与脚本语言交互 核心组件 Tasks :任务 Variables : 变量 ansible_ssh_port : 指定ssh端口 ansible_ssh_user : 指定ssh用户 ansible_ssh_pass...Roles : 角色,用于调度不同的playbooks YAML语法格格式 任何数据结构都用缩进进来标识,可以嵌套 每一行是一个键值数据key:value,使用冒号分隔,若想在一行标识需要使用{}和,多个...test.yml -extra-vars “hosts=www user=zhenping” 通过命令行传递 通过roles传递 主机变量 定义在inventory中的主机之后的变量,直接传递给单个主机的变量...: /bin/echo {{ pass }} | passwd --stdin {{ user }} 手动运行playbook脚本时,传递变量(手动传递时,优先级要高于脚本中的变量) ansible-playbook...name=keepalived state=present when: ansible_os_family == "ReaHat" - name: say hello shell

    1.7K50

    详解shell脚本case条件语句,开发各种服务启动脚本跳板机

    such directory" else   $nginx -s reload   value reload fi } case "$1" in #使用case接收脚本参的字符串...,如果机器多的话可以使用脚本进行循环发送 [demo@shell ~]$ ssh-keygen -t dsa -P "" -f ~/.ssh/id_dsa Generating public/private...-t:指定要创建的密钥类型,-P:提供旧密码,空表示不需要密码,-f:指定位置 #公钥拷贝到其他服务器的demo用户 [demo@shell ~]$ ssh-copy-id -i .ssh/id_dsa.pub...~]$ ssh-copy-id -i .ssh/id_dsa.pub "demo@192.168.86.131" #3.2.编写脚本 [root@shell scripts]# cat tiaobanji.sh...key认证,密码登录禁止,通过免密码登录到其他服务器 #总结:if条件语句主要用于取值判断、比较,应用比较广,case条件语句主要是写服务的启动脚本,各有各的优势。

    85230

    shell脚本中的case条件语句介绍和使用案例

    实践3.开发nginx启动脚本 #主要思路: #1.主要通过判断nginx的pid文件有无存在,通过返回值查看有没有运行 #2.通过case语句获取参数进行判断 #3.引入系统函数库functions中的...such directory" else   $nginx -s reload   value reload fi } case "$1" in #使用case接收脚本参的字符串...,如果机器多的话可以使用脚本进行循环发送 [demo@shell ~]$ ssh-keygen -t dsa -P "" -f ~/.ssh/id_dsa Generating public/private...-t:指定要创建的密钥类型,-P:提供旧密码,空表示不需要密码,-f:指定位置 #公钥拷贝到其他服务器的demo用户 [demo@shell ~]$ ssh-copy-id -i .ssh/id_dsa.pub...key认证,密码登录禁止,通过免密码登录到其他服务器 #总结:if条件语句主要用于取值判断、比较,应用比较广,case条件语句主要是写服务的启动脚本,各有各的优势。

    6K31

    shell脚本编程之路3

    [TOC] 0x09 shell编程函数 描述:Bash(Bourne Again shell)也跟其他编程语言一样也支持函数,一般在编写大型脚本中需要用到,函数可以让我们一个复杂功能划分成若干模块,...来获取执行的结果; shell中函数参与脚本参是一致的,但是得注意 $0 代表任然是父脚本的名称; 删除函数 描述:像删除变量一样,删除函数也可以使用 unset 命令,不过要加上 .f 选项,如下所示...WeiyiGeek.函数嵌套删除 0x09 shell脚本包含 描述:Shell文件包含像其他语言一样,Shell 也可以包含外部脚本外部脚本的内容合并到当前脚本,也能在函数中进行调用外部变量 脚本包含...; 方法1:使用 _DEBUG环境变量:如果需要自定义格式显示调式信息可以通过_DEBUG环境变量来建立 #!.../script.sh 需要调式的行前加上DEBUG,运行脚本前没有加_DEBUG=on就不会显示任何信息,脚本中“:”告诉shell不要进行任何操作。

    3.3K10

    shell(二)

    shell(二) 1.shell流程控制 1.1简单流程控制语句 1.1.1if判断语句 首先我们通过一个示例来展示单分支if语句: 需求:如果输入的参数为 man,那么输出您的性别为男。 #!...脚本文件中所有的标点符号均为英文状态下。 2.2函数参 实现函数参和函数体内调用参数,脚本文件示例: #!...2. .pub公钥文件复制到对端机器的目录中,并改名为 authorized_keys,文件路径展示: /root/.ssh/authorized_keys 3.在对端机器中,编辑 ssh配置文件:.../etc/ssh/sshd_config 下面一行的注释取消掉: AuthorizedKeysFile %h/.ssh/authorized_keys 4.在对端机器重启ssh服务: /etc/...命令变量的写法一定要规范。 固定的内容一定要变量实现,方便以后更改。 日志的输出。 脚本参和函数的参要区别对待。 ?

    97120

    vagrant学习笔记 - provision

    config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'" 什么是provision任务 provision任务是预先设置的一些操作指令...shell或path的参数 env hash 传递给脚本的环境变量 binary boolean 是否替换windows的行结束符,这个参数名有点奇怪 privileged boolean 是否提权运行...,只对provision自身操作有效,vagrant ssh 登录vm,里边的变量值是不会变的。.../Vagrantfile", destination: "Vagrantfile" host主机的 "./Vagrantfile" 上传到 vm虚拟机的目标文件 "./Vagrantfile" 。...Tips: 文件是通过scp上传到vm的,使用的是缺省用户,可使用vagrant ssh-config 查看缺省用户的名称,一般为vagrant。所以,目的路径需要让默认用户拥有写权限。

    1.4K20
    领券