Suz*_*ioc 44 linux directory working-directory sh
什么是shell脚本的当前目录?我这个目前的目录,我打电话给它?或者脚本所在的这个目录?
krg*_*krg 98
如前所述,该位置将是调用脚本的位置.如果您希望脚本引用它的安装位置,那很简单.下面是一个片段,它将打印PWD和已安装的目录
#!/bin/bash
echo "Script executed from: ${PWD}"
BASEDIR=$(dirname $0)
echo "Script location: ${BASEDIR}"
Run Code Online (Sandbox Code Playgroud)
saa*_*ada 27
大多数答案为您提供当前路径并且对上下文敏感.要从任何目录运行脚本,请使用以下代码段.
DIR="$( cd "$( dirname "$0" )" && pwd )"
Run Code Online (Sandbox Code Playgroud)
通过在子shell中切换目录,我们可以调用pwd并获取脚本的正确路径,而不管上下文如何.
然后你可以使用$DIRas"$DIR/path/to/file"
添加到此评论中,我认为最优化和逻辑的方式是:
realpath `dirname $0`
Run Code Online (Sandbox Code Playgroud)
或者
realpath $(dirname $0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
88775 次 |
| 最近记录: |