shell脚步攻略-1
作者:互联网
一、需要留意的坑
- echo命令:
双引号中不能放入shell中起作用的字符,如 !,!用来执行历史命令中的某一条,如 !30 表示执行第三十条命令:
例子详解:
echo “hello world!”
echo -e “1\t2\t3”
echo ‘$PATH’
单引号,里面的字符字面输出,不会进行变量替换
- 查看某个进程的环境变量:
cat /proc/$PID/environ
如:
cat /proc/215/environ
cat /proc/$PID/environ | tr ‘\0’ ‘\n’
- 变量赋值
var=“value”
echo $var
echo &{var}
- export声明了将由子进程继承的一个或多个变量,执行这个命令后,当前shell脚步执行的任何应用程序都能获得这个变量,如:
HTTP_PROXY=192.168.0.1:443
export HTTP_PROXY
unset HTTP_PROXY
export PATH="$PATH:/home/user/bin"
- 数学运算:
#!/bin/bash
no1=4
no2=5
let result=no1+no2
echo $result
let no1++
let no2--
echo $[ no1 + no2 ]
echo $[ $no1 + $no2 ]
let no1+=6
let no2-=5
echo $(( no1 + no2 ))
result=`expr 3 + 4`
echo ${result}
result=$(expr $no1 + 5)
echo $result
- 输入输出重定向:
ls /root > cmd.log 2>&1
ls /root &> cmd.log 2
- tee命令,输出内容到文件和stdout:
ls /root | tee root.log
cat -n test.txt | tee test.log
cat -n test.txt2 | tee -a test.log # -a ,用于追加内容
- /dev/null会丢弃接收到的任何数据:
ls /root > /dev/null & 2>&1
- 重定向脚本的文件块:
cat <<EOF > cat.txt
this is the content i want to input!
EOF
- alias的使用
alias
alias install=‘sudo apt install’
echo ’ alias install=“sudo apt install” ’ >> ~/.bashrc
执行非别名命令:
\ls 让ls使用最原始的定义来执行
- 设置系统时间:
date -s ‘2019-06-04 17:40:35’
timedatectl set-time “YYYY-MM-DD HH:MM:SS”
ntpdate -s ntpserver.com
clock -w
hwclock -w
#!/bin/bash
start=`date +%s`
sleep 6
end=`date +%s`
echo hehe=$((end-$start))
[root@localhost ~]# date +%F-%T
2019-06-04-21:39:43
标签:shell,脚步,echo,ls,攻略,cat,no1,no2,result 来源: https://blog.csdn.net/SolitudeSky/article/details/90813878