linux shell 使用变量和环境变量

1. 使用env或printenv命令查看当前shell中定义的全部环境变量

2. 查看进程相关环境变量。首先根据进程名获取进程ID: ps -ef  | grep sshd

                              >#  root       1795      1  0 11:55 ?        00:00:00 /usr/sbin/sshd -D
                              >#  root       3458   3276  0 12:24 pts/0    00:00:00 grep --color=auto sshd

  其中1795或者3458为进程ID。扩展:其次根据进程ID获取占用的端口号:netstat -anp | grep 1795

                              >#  tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1795/sshd           
                              >#  tcp6       0      0 :::22                   :::*                    LISTEN      1795/sshd 

  其中22表示占用端口号,LISTEN为监听类型。最后根据进程ID查看进程相关环境变量:cat /proc/1795/environ

                              >#  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/binLANG=en_US.UTF-8SSH_USE_STRONG_RNG=0...

  如果感觉不易读,通过管道换行:cat /proc/1795/environ | tr '\0' '\n'

3. 关于等号=。 等号两边没有空格是赋值操作符,加上空格的等号是等量关系测试。

4. export命令声明了将由子进程所继承的一个或多个变量。这些变量被导出后,当前shell脚本所执行的任何应用程序都会获得这个变量。

5. 在PATH中添加一个路径。 export PATH="$PATH:/home/user/bin"

6. 获取变量值$var和${var}是一样的。

7. 获取变量长度${#var}

8. 通过环境变量SHELL获知当前使用的哪种shell: echo $SHELL 或者 echo $0

9. 在if []判断语句中[其实是一个命令,必须与剩余字符隔开。

10. 如果2不起作用,查看服务端口号用cat /etc/services | grep ssh

 

你可能感兴趣的:(shell笔记)