在shell脚本使用sftp登陆远程服务执行命令
有时我们需要定期登陆到远程服务器去去执行一些命令,sftp是一个让我们在shell脚本登陆到远程服务器的工具,这里演示一个例子:echo "sftp start" >> ~/logfile.log sftp username@host <<EOF >> ~/logfile.log
有时我们需要定期登陆到远程服务器去去执行一些命令,sftp是一个让我们在shell脚本登陆到远程服务器的工具,这里演示一个例子:echo "sftp start" >> ~/logfile.log sftp username@host <<EOF >> ~/logfile.log
说明userdel命令用来删除指定的用户,以及与此用户相关的文件。默认只删除用户帐号,不删除相关文件。语法userdel [options] LOGIN LOGIN:被删除的用户名。选项-f:强制删除用户,即使用户当前已登录,但这是一个危险的操作,可能会导致系统的状态不一致。-r:删除用户的同时,删除与用户相关的所有文件。不指定此选项,默认只删除用户账号。相关文件/etc/gr
说明修改用户的密码,以及设置密码的相关信息,包括密码过期时间,清空密码等等。语法passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactived
说明chage命令用来指定修改密码后密码的有效天数。 系统会根据此值来限定用户必须更改密码的日期。语法chage [options] LOGIN LOGIN:用户名选项-m days: 表示密码可更改的最小天数。-M days: 表示密码有效(可更改)的最大天数-E Date :表示在该日期之后密码失效,格式
说明newusers命令提供了批量添加或更新用户的功能。它允许从文件或者标准输入读取用户信息,如果用户已存在则更新用户的信息,如果用户不存在则创建新用户。每行定义一个用户的信息,每行的格式需要严格按照/etc/passwd文件定义的格式。格式如下:pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shellpw_name:用户名pw_passwd
可以使用sed和GNU的gawk来实现。示例:123adfdfdsf 234dferere 345rererer 移动后结果为:adfdfdsf123 dferere234 rererer345 sed方法:sed -E 's/^([0-9]+)(.*)/\2\1/' source.txt > target.txt gawk方法:gawk&n
说明显示当前登录用户的用户名。语法logname [OPTION]选项--help:在线帮助;--vesion:显示版本信息。示例显示登陆用户名$logname demo
说明Linux新建用户和组的信息分别存放在/etc/passwd和/etc/group。这两个文件所有的用户都是可以查看的。/etc/passwd格式如下:$less /etc/passwd [clcaza@majing-web ~]$ less /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bi
方法一:ls使用-t按时间排序,然后使用head获取前面几条记录:ls -t b2* | head -1 方法二:使用unsetunset -v latest for file in "$dir"/*; do [[ $file 
脚本如下:#!/bin/bash SOURCE="${BASH_SOURCE[0]}" while [ -h "$SOURCE" ]; do # 查找源码$SOURCE直到脚本为非symlink TARGET="$(readlink "
兼容POSIX的command如果要兼容POSIX的话可以使用command:command -v <the_command>使用示例:if ! [ -x "$(command -v git)" ]; then echo 'Error: git
首先要了解文件描述符:文件描述符 0:表示标准输入stdinput文件描述符 1:表示标准输出stdout文件描述符 2:表示标准错误stderr要把信息输出到标准错误,可以把stdout(文件描述符 1)重定向stderr(文件描述符 2),命令如下:>&2 echo "error" 其中echo "e
sed在文件直接替换字符串最简单的是使用sed,如sed -i -e 's/abc/XYZ/g' myfile.txt-i[SUFFIX], --in-place[=SUFFIX]表示就地编辑,如果后面提供了后缀,则会把原文件以提供的后缀做备份。-e script, --expression=script指定执行编辑的脚本,这里使用了替换表达式。表达式格式为s/被替换文本/新的文本/gperl也可
脚本如下:#!/bin/bashfunction parse_yaml() { local yaml_file=$1 local prefix=$2 local s local w local fs s='[[:space:]]*' w='[a-zA-Z0-9_.-]*' fs="$(echo @|tr @ '\034')" (
问var=value 在export前后的差在哪? 这次让我们暂时丢开command line,先了解一下bash变量(variable)吧…所谓的变量,就是利用一个固定的”名称”(name),来存取一段可以变化的”值”(value)。1. 变量设定(set)在bash中, 你可以用”=”来设定或者重新定义变量的内容: name=value 在设定变量的时候,得遵守如
在shell脚本里,使用${var}引用变量,在双引号表示的字符串里,${var}会使用变量的值替换,示例如下:foo="Hello"foo="${foo} World"echo "${foo}"> Hello World多个字符串变量:a='Hello'b='World'c="${a} ${b}"echo "${c}"> Hello World
升级macOS,在命令行上执行命令,报错:The default interactive shell is now zsh.To update your account to use zsh, please run `chsh -s /bin/zsh`.For more details, please visit https://support.apple.com/kb/HT208050.这个是提
可以使用以下脚本获取curl请求返回的状态码:curl -w '%{response_code}\n' -so /dev/null $URL其中$URL是一个变量,可以使用实际测试的url替换。如请求百度:curl -w '%{response_code}\n' -so /dev/null https://baidu.com输出结果:302
设置请求头Content-Typecurl发送post请求,默认的content-type是:application/x-www-form-urlencoded。要发送json格式,则需要设置请求头的content-type为application/json。使用-H 或--header参数设置content type:-H "Content-Type: application/json"发送数据