shell脚本小demo

2020-11-18  本文已影响0人  程序员小白成长记

目录
一、获取脚本的命令行参数
二、获取脚本相较于当前执行命令路径的相对目录
三、获得当前脚本所在位置的绝对路径

一、获取脚本的命令行参数

  1. vi test.sh
    在/home/test目录下新建test.sh文件
  2. 在test.sh文件中添加如下代码
#!/bin/bash

echo $0
echo $1
  1. 执行脚本
    sh test.sh 1
  2. 执行结果
    test.sh
    1
  3. 结果分析
    $0为脚本名称,$1为参数

二、获取脚本相较于当前执行命令路径的相对目录

  1. vi test.sh
    在/home/test目录下新建test.sh文件
  2. 在test.sh文件中添加如下代码
#!/bin/bash

echo $(dirname $0)
  1. 执行脚本
    在test.sh的脚本所在位置执行sh test.sh
    sh test.sh
  2. 执行结果
    .
  3. 结果分析
    当前执行命令的路径相较于执行脚本的相对路径是.
    如果cd ..,(即cd test.sh脚本的上一级,为test),此时脚本相对于当前路径为test/test.sh,执行sh test.sh输入为test

三、获得当前脚本所在位置的绝对路径

  1. vi test.sh
    在/home/test目录下新建test.sh文件
  2. 在test.sh文件中添加如下代码
#!/bin/bash

echo $(cd $(dirname $0); pwd)
  1. 执行脚本
    在test.sh的脚本所在路径执行sh test.sh
    sh test.sh
  2. 执行结果
    /home/test
  3. 结果分析
    test.sh脚本的目录为/home/test/test.sh,执行脚本结果为test.sh脚本的目录的绝对路径/home/test

【注】其中;用于分隔单行中的多个语句,参考【1】

shell内置命令

  1. dirname
  1. basename

参考:

【1】Shell脚本中的分号使用

上一篇下一篇

猜你喜欢

热点阅读