【发布时间】:2017-01-13 09:21:10
【问题描述】:
我需要获取脚本的路径。如果我已经在同一个目录中,我可以使用pwd 来做到这一点,我在网上搜索并找到了这个
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
但我不知道如何使用它。
【问题讨论】:
-
你试过了吗,即
echo "script=$0 dirForScript=$DIR"?您应该展示您为解决问题所做的尝试。如果您将DIR=...代码和我的echo script=...放在一个脚本中并从不同的目录调用主脚本,您应该会看到相同的结果。如果不是,那么这是一个有趣的 Q,你可以更新你的 Q 为什么它“不起作用”。祝你好运。 -
所以,我现在的脚本文件中有以下代码:#!/usr/bin/env bash DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" ) " && pwd )" echo "script=$0 dirForScript=$DIR 并且我试图从不同的目录运行它,它说:-bash: Send-Transaction.sh: command not found
-
运行我正在使用 sh filename.sh 。我做错了什么或一切都错了吗?
-
试试
sh /full/path/to/filename.sh。那应该行得通。然后你必须将/full/path/to添加到你的 PATH 环境变量中。对于如此简单的事情,一开始可能会非常混乱。不要放弃,但要找到一个好的 linux 教程并通读 PATH 的方式/原因。祝你好运。 (上床睡觉 ;-) . -
但是当我已经知道文件名的完整路径时,那有什么用?
标签: linux bash shell unix scripting