Coloque todos os seus comandos em um arquivo, digamos myCommands.
Observe o #!/bin/sh
na primeira linha.
Isso é chamado de shebang, ele diz ao shell com qual programa interpretar o script, quando executado.
#!/bin/sh
# insert timestamp column
vmstat -n 5 | (while read; do echo "$(date +%Y-%m-%d.%H:%M:%S) $REPLY"; done)> vm.txt
# remove 1st & 2nd row
sed '1,2d' vm.txt > vm2.txt
# convert text file to csv
sed 's/^ *//;s/ */,/g' vm2.txt > vm2.csv
# insert column name
echo $'datetime, r, b, swpd, free, buff, cache, si, so, bi, bo, in, cs, us, sy, id, wa, st' | cat - vm2.csv> chart.csv
psql -p 5432 -U postgres -c "\copy vmstat FROM '/root/report/chart.csv' delimiter '|' csv header"
Em seguida, torne-o executável:
chmod +x myCommands
Agora, você pode usá-lo usando ./myCommands
se estiver na mesma pasta,
ou symply myCommands
se o arquivo de script estiver em um antigo incluído na variável $PATH
.