`

Get当前shell程序路径

阅读更多
shell中取得脚本所在目录的一个重要命令是dirname $0,

在实际应用中比pwd命令更方便,

basename $0 获得文件名
dirname $0 获得文件所在目录名

#!/bin/sh
#change to the directory in which this script resides
cd `dirname $0`
#just to show it worked right
pwd
#save
TOPDIR=`pwd`


补充:如果使用soft link方式运行脚本,如何获得真实脚本所在的目录呢?
答案在: http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in


解决方案就是这个脚本:
SCRIPT_PATH="${BASH_SOURCE[0]}";
if ([ -h "${SCRIPT_PATH}" ]) then
  while([ -h "${SCRIPT_PATH}" ]) do SCRIPT_PATH=`readlink "${SCRIPT_PATH}"`; done
fi
pushd . > /dev/null
cd `dirname ${SCRIPT_PATH}` > /dev/null
SCRIPT_PATH=`pwd`;
popd  > /dev/null
分享到:
评论

相关推荐

    ThinkCMF 任意内容包含getshell漏洞

    ThinkCMF 任意内容包含getshell漏洞 ThinkCMF 是一种基于 PHP+MYSQL 开发的中文字内容管理框架,底层采用 ThinkPHP3.2.3 构建。ThinkCMF 提出灵活的应用机制,框架自身提供基础的管理功能,而开发者可以根据自身的...

    PHPYun_v4.3 CMS重装到Getshell.pdf

    ### PHPYun_v4.3 CMS重装到Getshell知识点详解 #### 一、前言与背景介绍 《PHPYun_v4.3 CMS重装到Getshell》是一篇聚焦于PHPYun人才网站管理系统安全漏洞的研究文章。该文不仅揭示了PHPYun v4.3版本中存在的两个...

    window的shell命令大全

    Windows的Shell命令,通常指的是命令提示符(Command Prompt)或PowerShell中的命令,与Unix/Linux系统的Shell命令有所不同。虽然它们都是交互式的文本界面,用于执行操作系统级别的任务,但语法和可用命令有显著的...

    bashdb-3.1(shell debugger)

    总的来说,bashdb-3.1-0.09为Bash shell开发者提供了一种强大的调试工具,使他们能够像调试C/C++程序一样高效地调试shell脚本,极大地提升了调试效率和代码质量。对于复杂的shell脚本或需要进行深度调试的情况,...

    Shell_经典实例

    2. **改变工作目录并获取路径**:使用`cd`命令切换到指定目录,并使用`pwd`获取当前工作目录的绝对路径。 3. **查找文件类型**:利用`find`命令查找指定目录下的所有文件和子目录,使用`type d`限定只查找目录。 4. ...

    EasySNS_V1.6远程图片本地化导致Getshell.pdf

    ### EasySNS V1.6 远程图片本地化导致 Getshell 漏洞分析与防护 #### 一、环境准备及背景介绍 本案例基于EasySNS V1.6版本进行研究,EasySNS是一款开源社交软件系统,提供丰富的功能以支持社区交流。在进行漏洞...

    shell脚本实现服务器进程监控的方法

    #### 二、程序说明 该解决方案主要包括以下几个步骤: 1. **配置文件**: 首先,需要将系统定义的定时任务(如Timer)配置到一个名为`process_signal.config`的文件中。每个进程以一行的形式列出,例如: ``` ext...

    Windows Shell Programming

    PowerShell的命令称为Cmdlet,例如Get-Process、Start-Process等,更便于处理复杂任务。PowerShell还支持.NET Framework,可以编写更高级的脚本和函数。 三、批处理文件 批处理文件(.bat或.cmd)是Windows下的文本...

    9 Shell命令行操作.rar

    它提供了一种高效、强大的方式来与操作系统进行交互,执行各种任务,包括文件管理、程序控制、系统诊断等。"9 Shell命令行操作.rar"这个压缩包很可能包含了一份关于如何使用常见Shell命令的指南,可能是PDF格式的...

    shell中的特殊符号

    在Shell脚本编程中,存在一系列具有特殊含义的符号,这些符号不仅能够帮助我们更好地控制程序流程,还能提高代码的可读性和可维护性。本文将详细介绍这些特殊符号及其应用场景。 #### 二、知识点解析 ##### 1. # ...

    ubuntu shell命令

    - **命令**: `Ctrl + Alt + T` 或通过菜单路径“应用程序 > 附件 > 终端”。 - **功能**: 打开终端窗口。 - **应用场景**: 快速进入命令行界面进行各种系统操作。 #### 三、安装与升级 - **查看软件安装内容**: - ...

    Hadoop Shell命令

    **注意事项**:如果没有指定路径,默认显示当前目录下的文件列表。 ##### 4. `hadoop jar` **功能描述**:运行MapReduce程序。 **语法格式**: ``` hadoop jar <job-jar-file> [main-class] [args] ``` **参数...

    adb操作命令详解.doc

    adb 操作命令详解 Android Debug Bridge(ADB)...10. 获取设备的 ID 和序列号:adb get-product adb get-serialno adb shell sqlite3 ADB 是一个功能强大且实用的工具,可以帮助我们更好地管理和调试 Android 设备。

    获取程序根目录可执行文件根目录示例

    4. **Java**: 通过`java.lang.ClassLoader.getSystemResource("").getPath()`或`new File(MyClass.class.getResource("/").toURI()).getParentFile().getParentFile()`可以获取到类路径或JAR文件的根目录。...

    LINUX 与 UNIX SHELL编程指南

    - **在shell中使用函数**: 可以在当前shell会话中调用函数。 ### shell 工具 - **创建保存信息的文件**: 使用命令如date创建日志文件。 - **信号**: 用于进程间通信。 - **trap**: 捕获和处理信号。 - **eval**: ...

    shell 脚本shell 脚本shell 脚本

    begin=`date +%s` # 获取当前时间戳 DIR_NUM=0 # 目录数量 FILE_NUM= # 文件数量,默认未赋值 FILE_SIZE=0 # 文件大小 SAVE_DIR=./opt # 保存路径 SPACE= # 空间大小 PRECESS=1 # 进程数量 block=1 # 块大小...

    VC源码得到文件路径

    `GetModuleFileName`函数是一个获取当前进程执行文件完整路径的方法。它接收一个句柄参数,通常是NULL,表示获取调用进程自身的路径。以下是如何使用这个函数的示例: ```cpp #include #include #include int ...

    scriptAndResult_改路径并提示_

    首先,工作目录是指操作系统中命令行或脚本程序当前所处的位置,它决定了文件的读取和写入将相对于哪个位置进行。在不同的操作系统中,管理路径的方法有所不同。在Linux和macOS中,我们使用`cd`(change directory)...

    shell指令的实现

    此外,为了使`my_ls -l`能够像真正的shell命令一样被调用,你还需要考虑将其编译为可执行文件,并确保它可以在PATH环境变量指定的路径中找到。 总之,实现`my_ls -l`是一个很好的学习Linux编程、文件I/O和命令行...

Global site tag (gtag.js) - Google Analytics