系统相关
首页 > 系统相关> > shell脚步攻略-1

shell脚步攻略-1

作者:互联网

一、需要留意的坑

  1. echo命令:
    双引号中不能放入shell中起作用的字符,如 !,!用来执行历史命令中的某一条,如 !30 表示执行第三十条命令:
    例子详解:

echo “hello world!”
echo -e “1\t2\t3”
echo ‘$PATH’
单引号,里面的字符字面输出,不会进行变量替换

  1. 查看某个进程的环境变量:

cat /proc/$PID/environ

如:

cat /proc/215/environ
cat /proc/$PID/environ | tr ‘\0’ ‘\n’

  1. 变量赋值

var=“value”
echo $var
echo &{var}

  1. export声明了将由子进程继承的一个或多个变量,执行这个命令后,当前shell脚步执行的任何应用程序都能获得这个变量,如:

HTTP_PROXY=192.168.0.1:443
export HTTP_PROXY
unset HTTP_PROXY
export PATH="$PATH:/home/user/bin"

  1. 数学运算:
#!/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
  1. 输入输出重定向:

ls /root > cmd.log 2>&1
ls /root &> cmd.log 2

  1. tee命令,输出内容到文件和stdout:

ls /root | tee root.log
cat -n test.txt | tee test.log
cat -n test.txt2 | tee -a test.log # -a ,用于追加内容

  1. /dev/null会丢弃接收到的任何数据:

ls /root > /dev/null & 2>&1

  1. 重定向脚本的文件块:

cat <<EOF > cat.txt
this is the content i want to input!
EOF

  1. alias的使用

alias
alias install=‘sudo apt install’
echo ’ alias install=“sudo apt install” ’ >> ~/.bashrc

执行非别名命令:

\ls 让ls使用最原始的定义来执行

  1. 设置系统时间:

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