相关疑难解决方法(0)

Rscript:确定执行脚本的路径

我有一个名为的脚本foo.R包含另一个脚本other.R,该脚本位于同一目录中:

#!/usr/bin/env Rscript
message("Hello")
source("other.R")
Run Code Online (Sandbox Code Playgroud)

但我想R发现other.R无论当前的工作目录是什么.

换句话说,foo.R需要知道自己的路径.我怎样才能做到这一点?

r file path rscript r-faq

234
推荐指数
14
解决办法
11万
查看次数

如何通过双击在OS X中运行shell脚本?

我有一个在OS X上具有用户执行权限的shell脚本,但是当我双击它时,它会在文本编辑器中打开.如何通过双击来运行它?

macos shell scripting desktop

219
推荐指数
6
解决办法
26万
查看次数

如何创建临时目录?

我用来创建一个tempfile,删除它并将其重新创建为一个目录:

tmpnam=`tempfile`
rm -f $tmpnam
mkdir "$tmpnam"
Run Code Online (Sandbox Code Playgroud)

问题是,另一个进程可能会得到一个相同的名称X,如果它在一个进程之后rm -f X和之前意外地执行tempfile mkdir X.

bash temporary-directory

215
推荐指数
4
解决办法
12万
查看次数

如何检查符号链接是否存在

我正在尝试检查bash中是否存在符号链接.这是我尝试过的.

mda=/usr/mda
if [ ! -L $mda ]; then
  echo "=> File doesn't exist"
fi


mda='/usr/mda'
if [ ! -L $mda ]; then
  echo "=> File doesn't exist"
fi
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用.如果'!' 被遗漏,它永远不会触发.而如果 '!' 在那里,它每次都会触发.

bash symlink

192
推荐指数
7
解决办法
25万
查看次数

Bash:检索给定相对的绝对路径

是否有命令在给定相对路径的情况下检索绝对路径?

例如,我希望$ line包含dir中每个文件的绝对路径 ./etc/

find ./ -type f | while read line; do
   echo $line
done
Run Code Online (Sandbox Code Playgroud)

bash shell path absolute

135
推荐指数
10
解决办法
16万
查看次数

确定执行BASH脚本的路径

可能重复:
Bash脚本可以告诉它存储在哪个目录中吗?

在Windows命令脚本中,可以使用确定当前正在执行的脚本的目录路径%~dp0.例如:

@echo Running from %~dp0
Run Code Online (Sandbox Code Playgroud)

什么是BASH脚本中的等价物?

bash

105
推荐指数
4
解决办法
12万
查看次数

OS X的Bash脚本绝对路径

我试图获取OS X上当前运行脚本的绝对路径.

我看到很多回复readlink -f $0.但是,由于OS X readlink与BSD相同,它只是不起作用(它适用于GNU的版本).

有没有开箱即用的解决方案?

macos bash path

85
推荐指数
10
解决办法
6万
查看次数

在$ 0和BASH_SOURCE之间选择

如何在"$0"和之间做出选择"${BASH_SOURCE[0]}"

GNU的这个描述对我没什么帮助.

    BASH_SOURCE

 An array variable whose members are the source filenames where the
 corresponding shell function names in the FUNCNAME array variable are
 defined. The shell function ${FUNCNAME[$i]} is defined in the file
 ${BASH_SOURCE[$i]} and called from ${BASH_SOURCE[$i+1]}
Run Code Online (Sandbox Code Playgroud)

bash

84
推荐指数
4
解决办法
4万
查看次数

基于文件位置而不是当前工作目录的相对路径

鉴于:

some.txt
dir
 |-cat.sh
Run Code Online (Sandbox Code Playgroud)

使用cat.sh的内容:

cat ../some.txt
Run Code Online (Sandbox Code Playgroud)

然后在./cat.sh内部运行dir工作正常,而不是./dir/cat.sh在同一级别上运行dir.我希望这是由于不同的工作目录.是否有一个容易的是../some.txt相对于位置的路径cat.sh

bash shell

82
推荐指数
3
解决办法
8万
查看次数

获取应用程序的路径

我最近搜索了如何用Java获取应用程序的目录.我终于找到了答案,但我需要很长时间才能找到这样一个通用术语并不容易.我认为编译一个如何用多种语言实现这一目标的列表是一个好主意.

如果您(不)喜欢这个想法,随意上/下投票,如果您愿意,请提供帮助.

澄清:

包含可执行文件目录当前工作目录(由pwdUnix下给出)之间有一个很好的区别.我最初对前者感兴趣,但也可以随意发布确定后者的方法(澄清你的意思).

language-agnostic path

79
推荐指数
6
解决办法
9万
查看次数