bash

最新文章

The default interactive shell is now zsh

升级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.这个是提

Linux shell脚本拼接字符串变量

在shell脚本里,使用${var}引用变量,在双引号表示的字符串里,${var}会使用变量的值替换,示例如下:foo="Hello"foo="${foo} World"echo "${foo}"> Hello World多个字符串变量:a='Hello'b='World'c="${a} ${b}"echo "${c}"> Hello World

shell脚本变量的使用

问var=value 在export前后的差在哪?  这次让我们暂时丢开command line,先了解一下bash变量(variable)吧… 所谓的变量,就是利用一个固定的”名称”(name),来存取一段可以变化的”值”(value)。 1. 变量设定(set) 在bash中, 你可以用”=”来设定或者重新定义变量的内容: name=value 在设定变量的时

读取yaml文件的shell脚本

脚本如下:#!/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')" (

shell命令在原文件查找和替换字符串

sed在文件直接替换字符串最简单的是使用sed,如sed -i -e 's/abc/XYZ/g' myfile.txt-i[SUFFIX], --in-place[=SUFFIX]表示就地编辑,如果后面提供了后缀,则会把原文件以提供的后缀做备份。-e script, --expression=script指定执行编辑的脚本,这里使用了替换表达式。表达式格式为s/被替换文本/新的文本/gperl也可

Bash输出错误信息到标准错误stderr

首先要了解文件描述符:文件描述符 0:表示标准输入stdinput文件描述符 1:表示标准输出stdout文件描述符 2:表示标准错误stderr要把信息输出到标准错误,可以把stdout(文件描述符 1)重定向stderr(文件描述符 2),命令如下:>&2 echo "error" 其中ec

Linux检测命令是否存在

如果要兼容POSIX的话可以使用command:command -v <the_command> 使用示例:if ! [ -x "$(command -v git)" ]; then   echo 'Error: git&nbs

bash脚本内获取脚本的真实源路径

脚本如下:#!/bin/bash SOURCE="${BASH_SOURCE[0]}" while [ -h "$SOURCE" ]; do # 查找源码$SOURCE直到脚本为非symlink   TARGET="$(readlink "

Linux bash查找目录下最新的文件

方法一:ls使用-t按时间排序,然后使用head获取前面几条记录:ls -t b2* | head -1 方法二:使用unsetunset -v latest for file in "$dir"/*; do   [[ $file 

bash shell把每行行首的数字移动到行末

可以使用sed和GNU的gawk来实现。示例:123adfdfdsf 234dferere 345rererer 移动后结果为:adfdfdsf123 dferere234 rererer345 sed方法:sed -E 's/^([0-9]+)(.*)/\2\1/' source.txt > target.txt gawk方法:gawk&n

在shell脚本使用sftp登陆远程服务执行命令

有时我们需要定期登陆到远程服务器去去执行一些命令,sftp是一个让我们在shell脚本登陆到远程服务器的工具,这里演示一个例子:echo "sftp start" >> ~/logfile.log sftp username@host <<EOF >> ~/lo