近日在使用ssh命令ssh user@remote ~/myscript.sh登陆到远程机器remote上执行脚本时,遇到一个奇怪的问题: ~/myscript.sh: line n: app: command not found   app是一个新安装的程序,安装路径明明已通过/etc/profile配置文件加到环境变量中,但这里为何会找不到?如果直接登陆机器remote并执行~/myscript.sh时,app程序可以找到并顺利执行.但为什么使用了ssh远程执行同样的脚本就出错了呢?两种方式…
近日在使用ssh命令ssh user@remote ~/myscript.sh登陆到远程机器remote上执行脚本时,遇到一个奇怪的问题: ~/myscript.sh: line n: app: command not found app是一个新安装的程序,安装路径明明已通过/etc/profile配置文件加到环境变量中,但这里为何会找不到?如果直接登陆机器remote并执行~/myscript.sh时,app程序可以找到并顺利执行.但为什么使用了ssh远程执行同样的脚本就出错了呢?两种方式执行…
这是因为在Linux上,bash会有四种模式,根据不同的case,Linux会加载不同模式的bash.一般如果你自己直接登录主机,能看到环境变量,但是使用ssh 远程登录执行脚本就找不到环境变量,那么在你的脚本中修改脚本解释器为如下形式,就能解决你的问题: #!/bin/bash --login 如果想了解详细的bash的四种模式以及各种模式的特点,请参考下面这篇文章,分析的非常详细: SSH连接远程主机执行脚本的环境变量问题…
在桌面版的主机上远程管理服务器版主机,在本地powershell中连接远程主机执行vbs脚本,得到执行结果. 执行步骤: 1.将本地主机上的Hyper.vbs复制到远程连接主机上.例如,本地vbs脚本复制到远程连接主机(192.168.12.17)的c盘: copy-item –Path c:\hyper.vbs –Destination \\192.168.12.17\c$\hyper.vbs -recurse 2. 定义会话,请使用new-pssession命令定义会话: $session1…
原文:https://blog.csdn.net/qq_36622490/article/details/100773589 这个需求主要是我在jenkins中pipeline的代码里,需要使用shell语言执行远程连接并且部署的工作,但是大多数的shell和服务器交互是使用expect解释器 就是之前我写过的那个关于expect有关的文章,问题是jenkins中默认的shell解释器只有bash,不能更改解释器的.所以就很难受,国内的百度基本都是搬运过来的内容,毫无意义,浪费时间,在国外博客浪…
Crontab 执行时没有环境变量! Crontab 执行时没有环境变量! Crontab 执行时没有环境变量! 重要的事情说三遍,浪费我半天时间去找问题!! 非系统默认工具,执行时候需要加全路径!!…
ssh无密码登录及远程执行脚本要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS7为例. 测试环境:机器A(10.0.224.80):机器B(192.168.7.172).现想A通过ssh免密码在B上远程执行命令. 1.首先在A机下生成公钥/私钥对:(-P表示密码,-P '' 就表示空密码,一次回车即可.在~/.ssh会生成id_rsa和id_rsa.pub两个文件) [root@registry home]# ssh-keygen -t rsa -…
今天遇到一个问题.执行在终端newLISP文字,一切正常,搬去crontab在将无法正常工作.即使crontab -e命令是在同一个用户执行.还是有问题. 因为newLISP脚本使用hive和hadoop.它预计发行环境变量. 所以第一次使用newLISP shell执行(env)命令,将当前环境变量记录到文件evn.lsp中. 然后在newLISP脚本中载入之. 以下是env.lsp文件部分内容: (set 'local-envs '(("LC_PAPER" "en_US.…
核心思想: 1.本地主机生成公钥私钥,私钥自己存着,公钥传到远程主机.ssh文件夹下authorized_keys文件(默认是这个,用追加的方式) 2.本地连接远程主机,公私钥对上就可以免密登入了. 3.authorized_keys的权限要是600. 步骤 主机: 1.生成公钥和私钥文件id_rsa和id_rsa.pub (敲三下回车即可). [root@bogon ~]# ssh-keygen -t rsa Generating public/private rsa key pair. En…
在shell脚本设置了环境变量,如export LIBRARY_PATH=./lib/,执行了此脚本后, 在执行生成的可执行文件,提示错误 error while loading shared libraries: libww.so: cannot open shared object file: No such file or directory 但是如果把export那句话单独在命令行运行,在gcc编译代码后不会出现问题 怎么也想不通,为什么脚本执行了,设置了环境变量,但是运行可执行文件总是…
在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的加密算法.该工具做linux系统的远程管理是非常安全的. ssh登录远程主机(服务器)一般有两种方式:无密钥方式 和 有密钥方式. 无密钥方式需要每次都输入密码,而有密钥方式仅需第一次使用输入密码,以后均无需输入密码就能正确登录. 1 安装ssh Server端需要安装并开启SSH服务 Client端需要支持ssh-keygen命令 可用如下命令验证: ssh localhost 如果结果为: 则说明ssh未安…
机房同传了新的系统,不使用dev的话每次开机都要重新更改环境变量(其实也可以在编译命令里添加绝对路径).所以就去学习了一下用bat脚本更改path.以便每次开机可以一键更改添加环境变量 wmic environment where "name='PATH' and username='<system>'" set VariableValue="%PATH%;这里是要添加的路径" 其中前面是一些语法,PATH可以更改成其他的变量,但是作为一个OIER一般不…
本教程使用的是ssh.net这个库.项目地址:https://github.com/sshnet/SSH.NET 使用ssh客户端连接远程主机执行命令,并拿到输出结果: using (var sshClient = new SshClient("host", port,"username", "password")) { sshClient.Connect(); using (var cmd = sshClient.CreateCommand(&…
1.主要是利用EnvInject Plugin插件,所以要首先安装插件,安装好后如下图: 2.然后在“增加构建步骤”中,插入一个“Execute Python script” 代码我用的python3,不知道为什么,在jenkins里执行时,用任何中文必须加上那个coding:gbk编码,如果你是python2或者报字符编码错误,可以尝试着把中文注释全去掉,把gbk编码也去掉试一下: # -*- coding:gbk -*- my_file=open("my_props.properties&q…
ifconfig 命令 查看与配置网络状态命令 关闭与启动网卡 ifdown 网卡设备名 禁用该网卡设备 ifup 网卡设备名 启用该网卡设备 查询网络状态 netstat 选项 -t 列出TCP协议端口 -u 列出UDP协议端口 -l 仅列出在监听状态网络服务 -a 列出所有的网络连接 SSH命令 ssh 用户名@ip 远程管理指定Linux服务器 scp [-r] 用户名@ip:文件路径 本地路径 下载文件 scp [-r] 本地文件 用户名@ip:上传路径 上传文件 对称加密算法 同一个密…
linux 环境,用户通过shell 操作时,系统会为用户初使化环境变量, 比如系统公共资源路径: path , include , bin 等目录. shell 模式下,执行 export , 查看用户环境变量 , echo $key 查询某个环境变量. 设置环境变量,有两种方式,分为临时设置,与永久设置.a.临时设置(实时生效)shell 模式执行:export PATH="$PATH:/opt/au1200_rm/build_tools/bin" b.永久设置#行尾追加 expo…
问题概况 linux机器在/etc/profile配置完成环境变量后,SSH到目标机器执行命令,但是获取不到已配置的环境变量值. 例如场景: 在/etc/profile配置了http代理 export all_proxy=http://$PROXY_HOST:8118 export ftp_proxy=http://$PROXY_HOST:8118 export http_proxy=http://$PROXY_HOST:8118 export https_proxy=http://$PROXY…
1背景 jenkins发布时,使用ansible执行远程主机上的启动tomcat脚本发现不生效,启动tomcat的脚本中有环境变量. ansible主机为:172.16.35.8 tomcat服务器为:172.16.35.56 2tomcat启动脚本 [app@cecntos jenkins]$ cat tomcat_start.sh #!/bin/bash 4export CATALINA_YCLOANS_BASE CATALINA_YCLOANS_HOME TOMCAT_YCLOANS_HO…
sudo执行脚本找不到变量 问题 当普通用户下,设置并export一个变量,然后利用sudo执行echo命令,能得到变量的值,但是如果把echo命令写入脚本,然后再sudo执行脚本,就找不到变量,未能获取到值,如题情况如下: $ cat tesh.sh echo $var $ var=aaa $ export var # export 变量 $ sudo echo $var # sudo执行echo命令,返回变量值 aaa $ sudo bash test.sh # sudo执行脚本,不能获取变…
简介 变量 普通用户下,设置并export一个变量,然后利用sudo执行echo命令,能得到变量的值,但是如果把echo命令写入脚本,然后再sudo执行脚本,就找不到变量,未能获取到值,如题情况如下: $ cat tesh.sh echo $var $ var=aaa $ export var # export 变量 $ sudo echo $var # sudo执行echo命令,返回变量值 aaa $ sudo bash test.sh # sudo执行脚本,不能获取变量值 $ bash te…
目录 第二十四节 SSH连接原理及ssh-key讲解 第1章 SSH服务 1.1 ssh介绍 1.2 知识小结 第2章 ssh结构 2.1 SSH加密技术 第3章 ssh服务认证类型 3.1 基于口令的安全验证: 3.2 基于密钥的安全验证: 3.3 更改ssh默认登录配置 3.4 远程连接ssh服务 3.5 ssh客户端附带的远程拷贝scp命令 第4章 章节重点小结 第5章 企业案例:SSH入侵案例 5.1 如何防止SSH登录入侵小结: 第6章 IT公司企业级批量分发管理 6.1 SSH的批量…
docker容器中的环境变量 docker可以为容器配置环境变量.配置的途径有两种: 在制作镜像时,通过ENV命令为镜像增加环境变量.在容器启动时使用该环境变量. 在容器启动时候,通过参数配置环境变量,如果与镜像中有重复的环境变量,会覆盖镜像的环境变量. 使用docker exec {containerID} env即可查看容器中生效的环境变量. [root@localhost ~]# docker exec 984 env PATH=/usr/local/sbin:/usr/local/bin…
一个shell脚本,直接执行能成功,但是加在crontab后确怎么也执行不成功. 问题的原因是:crontab的环境变量与直接执行用户的环境变量不一样. export PATH=$PATH:/sbin 使用全路径,或者把包含路径在环境变量加上即可.…
今天在做从将MySQL中的数据同步到ES的时候,当启动脚本程序报错: Exception in thread "main" java.lang.UnsupportedClassVersionError: org/xbib/tools/Runner : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defi…
login shell:取得bash 时需要完整的登入流程,就称为login shell.举例来说,同tty1~tty6登入时, 需要输入用户名和密码,此时取得的bash就称为login shell non-login shell:取得bash介面的方法不需要重复登入的动作. 举两个例子 (1)以X window登入linux后,再以X 的图形化介面启动终端机,此时那个终端机并不需要再次的输入用户名和密码,那个bash的环境就称为non-login shell (2)在原本的bash环境中再次下…
为PHP设置服务器(Apache/Nginx)环境变量 设置环境变量常见的地方为区分开发环境/生产环境,或者定义一些数据库的帐号密码 设置Apache环境变量 指令 设置当前环境变量为DEV SetEnv RUNTIME_ENVIROMENT DEV 数据库帐号密码 SetEnv MYSQL_USERNAME root SetEnv MYSQL_PASSWORD root 配置文件格式 <VirtualHost *:80> ServerAdmin admin@admin.com Documen…
复习 进制转换:二进制&十六进制转换(从左往右1248机制,每四位二进制对应一位16进制) 二进制&十进制转换   2n-1幂次方相加 十进制到二进制转化  将十进制除以2,把余数记下来,再用商去除以2...依次循环,直到商为0结束,把余数倒着依次排列,就构成了而进制数. 内存分布:栈区与堆区 堆区:存放具体的数据 栈区:存放找堆区的依据(内存地址) 操作系统:32位   针对CPU来讲,一次性处理4个字节(1字节= 8位)的数据量,内存寻址空间在2得32次方=4294967296Byte…
我使用的是ubuntu16,所以在ubuntu中一切正常,在其他linux系统中应该都差不多. 1 计划任务,crontab命令选项:     -u指定一个用户,     -l列出某个用户的任务计划,     -r删除某个用户的任务,     -e编辑某个用户的任务 2 cron文件语法: 分     小时   日       月       星期     命令         0-59   0-23   1-31   1-12     0-6     command     (取值范围,0表示…
远程登录时,不是ssh登陆:  xrdp 可以修改并添加 /etc/xrdp/startwm.sh 代码: #!/bin/sh if [ -r /etc/default/locale ]; then  . /etc/default/locale  export LANG LANGUAGEfi .  /etc/profile . /etc/X11/Xsession 转自http://hi.baidu.com/sujinsujin/item/f3fd3bed56a408ddeb34c9eb /etc…
在Cloud Foundry v2中,当应用用户须要启动应用的实例时.用户通过cf CLI向cloud controller发送请求,而cloud controller通过NATS向DEA转发启动请求.真正运行启动事宜的是DEA,DEA主要做的工作为启动一个warden container, 并将droplet等内容拷贝进入container内部.最后配置完指定的环境变量,在这些环境变量下启动应用的启动脚本. 本文将从阐述Cloud Foundry中DEA怎样为应用实例的启动配置环境变量. DE…