Shell[二]: Shell杂谈

来源:互联网 发布:厦门书生商友软件 编辑:程序博客网 时间:2024/05/21 22:27

Shell[二] Shell杂谈


Shell 脚本执行相关:

-x 显示脚本的执行过程,及结果-v 显示脚本中的各行-n 解决但不执行+ set -v    #前面有+,表示显示脚本的执行过程set -n      + set -n    #前面有+,表示显示脚本的执行过程## set -x例子:curdir=`dirname $0`    #脚本并没有执行,只是直接打印出来了echo 'shell file current directory = '$curdir

Shell文件中的 三大引号 的含义及用法.

  • [`]: 学名叫“倒引号”, 如果被“倒引号”括起来, 表示里面需要执行的是命令.
比如 `dirname $0`, 就表示需要执行 dirname $0 这个命令
  • [“”]: 被双引号括起来的内容, 里面出现
    $(美元号: 表示取变量名)
    `(倒引号: 表示执行命令)
    \(转义号: 表示转义)
    其余的才表示字符串。
  • [”]: 被单引号括起来的内容, 里面所有的都表示串,包括上面所说的 “三个特殊字符”

dirname 文件名(file):

返回文件所在的路径,这个路径是根据你传入的参数 '文件名相关的', 传入相对的,返回相对的,传入绝对的,返回绝对的.
[test@2288 online]$ dirname sbin/test.sh sbin[test@2288 online]$ dirname /home/test/sbin/test.sh /home/test/sbin## dirname 一个小例子,及执行过程:curdir2=$(cd `dirname $0`/.. && pwd);+++ dirname test.sh     #第一步++ cd ./..              #第二步 cd .. 等于 cd ./..++ pwd                  #第三步

Shell中的一些特殊的变量:

$ 获取当前shell的pid.

echo $$

? 获取上一个命令的执行状态.

echo $?

$(shell命令)

返回shell命令的执行结果 作用与 ``(反单引号的作用一样)。$()比``更直观一些,在多层嵌套的命令行中,$()使用更方便.

Shell 参数相关:

$# 参数个数

echo $#

$* 显示所有参数.

echo $*

$0-9 取第0-9个参数,如果参数个数超过10,则需要在数字外面加上’{}’

echo $1echo ${11}

命令别名:

alias ll='ls -al'alias lp='ls -al'

在命令行中,输入ll 和 lp, 效果是一样的.
alias最好 添加在 本账户根目录(一般是 /home/user_name)的.bash_profile文件中。
添加完成后 souce .bash_profile文件, 使操作生效.

原创粉丝点击