@TAG alias
加上这么一句:
shopt -s expand_aliases
在python里可以用len(sys.argv)判断参数个数,bash里用中括号里的-z
if [ -z "$1" ] && [ -z "$2" ]; then
echo "Usage: $0 <parameter1> <parameter2>"
fi
@TAG seq
注意终点是包含在内的,不同于Python的range
seq 3
: 1 2 3seq 2 3
: 2 3seq 1 2 5
: 1 3 5
for i in $(seq 1 $END); do echo $i; done
不需要bc也可以直接做计算,例如计算5+0xa+0b1010
echo $((5+16#a+2#1010))
command -v aria2c >/dev/null 2>&1 || { apt update && apt install -y aria2; }
如果有多个软件可能要安装,没必要每次都apt update,可以先装了再说 失败就apt update
command -v 7z >/dev/null 2>&1 || { apt-get install -y p7zip; }
command -v 7z >/dev/null 2>&1 || { apt update; apt-get install -y p7zip; }
注意]
前面要有空格
if [ ! -f "somefile" ]; then
curl ...
fi
逆序 -r 按版本排序 排序IP地址 -V 按数字排序 -n 按人类理解的文件大小排序 -h 指定某些列来排序 -k 3,3 -k 4,4 指定分隔符用-t '.'
参考: https://www.madboa.com/geek/sort-addr/
rsync有--dry-run
参数确认没出错后再操作
rsync -P --remove-source-files -avz '1.2.3.4:/root/dockerimages/*.tar.7z' ./
for filename in *.tar.7z; do
7z x -so $filename | docker load;
mv $filename ./done/;
done