标签: tilde-expansion

必须确定所有用户主目录 - 代字号脚本问题

假设someuser有一个主目录/ home/someuser

NAME = SomeUser的

在bash中 - 我用什么表达式组合使用tilde(〜)和$ NAME来返回用户主目录?

HOMEDIRECTORY=~someuser
echo $HOMEDIRECTORY
/home/someuser
NAME=someuser
echo ~$NAME
~someuser
Run Code Online (Sandbox Code Playgroud)

有什么建议?

bash tilde-expansion

5
推荐指数
3
解决办法
4586
查看次数

为什么QFile不能从"〜"目录中读取?

我尝试了以下简短示例,以了解我正在开展的更大程序中的错误.看起来QFile不支持主目录的unix(或shell)表示法:

#include <QFile>
#include <QDebug>

int main()
{
        QFile f("~/.vimrc");
        if (f.open(QIODevice::ReadOnly))
        {
                qDebug() << f.readAll();
                f.close();
        }
        else
        {
                qDebug() << f.error();
        }
}
Run Code Online (Sandbox Code Playgroud)

一旦我用我真正的主目录路径替换"〜",它就可以工作.有一个简单的解决方法 - 一些设置启用?或者我是否必须采用"丑陋"的方式并向QDir询问当前用户的主目录,并将其手动添加到每个路径?

附录:很明显,shell通常执行代字号扩展,因此程序永远不会看到.在unix shell中它仍然非常方便,我希望文件访问的Qt实现包含该扩展.

c++ qt qt4 tilde-expansion qfile

5
推荐指数
2
解决办法
3246
查看次数

波浪号“~”表达式在“R”中不起作用?

波浪号表达式在我的 RStudio 上不起作用!我正在使用 Windows 10 操作系统。

更新:仔细查看后(感谢 Dason)似乎“~”指向“用户/文档/”而不是“用户/”。有什么解决办法吗?

图片

有什么帮助吗?

r tilde-expansion

5
推荐指数
1
解决办法
5300
查看次数

是否有任何官方文档指定〜(波形符)解析为 Angular scss 导入路径中的node_modules/?

~当在 scss 导入路径中使用波形符 ( ) 时,它会node_modules/在 Angular 中扩展为。有没有任何官方文档说这是 Angular 或 webpack 的一个功能?

到目前为止,我在这个问题上发现的只是一些以前的 Angular 版本的错误报告,称它已损坏,还有一条评论说这是一个不应该依赖的实现细节

我希望执行ng eject并检查配置,但该命令不再可用。

如果有人可以向我指出一些官方文档,说明它是~的路径的简写node_modules/,或者指定该替换的源代码(例如配置文件),我将不胜感激。:)

基本上,我想弄清楚为什么它会起作用以及如何起作用。

import sass tilde-expansion webpack angular

5
推荐指数
1
解决办法
1583
查看次数

Objective-C中基于Tilde的路径

在Objective-C中,如何将基于波浪号的路径名转换为完整路径名?也就是说,我想转换~/sandbox/Users/TheBobs/sandbox.

objective-c tilde tilde-expansion

4
推荐指数
1
解决办法
2228
查看次数

cygwin tilde扩展无法在交互式shell中工作

出于某种原因,Cygwin中的波形扩展在提示符下对我不起作用:

$ ls ~
ls: cannot access : No such file or directory

$ ls ~/bin
(lists /bin not $HOME/bin)

$ echo $HOME
/home/myusername

$ echo ~


$
Run Code Online (Sandbox Code Playgroud)

在最后一种情况下,(echo ~)没有输出(除了几个空行之外).

我已经set expand-tilde on在我的$HOME/.inputrc文件中设置了.还有其他我需要配置的东西吗?

cygwin tilde-expansion

4
推荐指数
1
解决办法
1502
查看次数

没有这样的文件或目录(ls)与代字号扩展一起使用

我正在编写一个简单的bash脚本,并希望显示特定目录中的所有项目.我尝试过以下操作:

desktop="~/Desktop/testr/"
echo $desktop
echo `ls $desktop`
Run Code Online (Sandbox Code Playgroud)

但是我不断得到输出:

~/Desktop/testr/
ls: ~/Desktop/testr/: No such file or directory
Run Code Online (Sandbox Code Playgroud)

但是当我从终端运行ls时,我可以看到这些物品.我怀疑问题是~没有扩大,但我认为双引号会照顾到这一点.

谢谢你的帮助!

shell tilde-expansion

3
推荐指数
1
解决办法
712
查看次数

评估 $PATH 时的波形符扩展

在我的系统上*

cd                                                 # move to home
mkdir tempdir
PATH="$PATH:~/tempdir"                             # put tempdir in path
touch tempdir/tempscript
echo -e '#!/bin/bash\necho h' > tempdir/tempscript # write script
chmod u+x tempdir/tempscript                       # make executable
tempscript                                         # execute
Run Code Online (Sandbox Code Playgroud)

将找到脚本tempdir/tempscript并打印h

然而,如果我们 echo $PATH,我们会看到~/tempdir它的末尾,所以它没有被扩展。这是我们期望发生的情况,因为我们在赋值周围加了双引号。

然而,我找不到任何关于为什么在评估 时会发生波形符扩展的文档$PATH。(请注意,PATH 变量中仍然包含~。)

这是可移植的行为吗?

* Mac OS X 带有 GNU bash 3.2

bash portability path-variables tilde-expansion

3
推荐指数
1
解决办法
667
查看次数

有没有办法让 System.IO.Directory.GetFiles(string) 在程序目录中查找?

我正在尝试使用 string[] files = System.IO.Directory.GetFiles("~/Pictures/");在程序中的文件夹中搜索图片文件。这稍后将用于随机选择要显示在图像框中的图片。当它尝试查找 ~/Pictures 时出现错误,因为该方法正在查找 'C:\Program Files (x86)\Common Files\Microsoft Shared \DevServer\10.0\~\Pictures\'。反而。“~”不是要让它在程序目录中查找吗?如果在安装程序之前我不知道它将是什么,我如何使它在程序目录中查找?任何帮助将不胜感激!!

c# asp.net io tilde-expansion

2
推荐指数
1
解决办法
1669
查看次数

什么时候Linux路径中的斜杠需要在bash脚本中的引号之外

为什么第一次扩展不起作用,第二次扩展不起作用?

我知道代字号必须在引号之外扩展,但斜线也必须在外面,出乎意料.

#!/bin/bash
ls ~"/Documents/bashscripts/test.sh"
ls ~/"Documents/bashscripts/test.sh"
Run Code Online (Sandbox Code Playgroud)

bash tilde-expansion

2
推荐指数
1
解决办法
93
查看次数

无法测试Bash中是否存在文件

请考虑以下Bash脚本:

function dosomething {
    local fname="~/.bash_profile"
    if [[ -f "$fname" ]]; then
        echo "proceeding"
    else
        echo "skipping"
    fi
}

dosomething
Run Code Online (Sandbox Code Playgroud)

虽然我知道〜/ .bash_profile存在,但我总是"跳过".为什么?

bash tilde-expansion

1
推荐指数
1
解决办法
169
查看次数

Bash脚本 - 〜/ .ssh /中没有文件

我正在尝试复制一个文件:〜/ .ssh /但每次我运行脚本时都会说

pi@raspberrypi:/etc/greenwich $ ./copybash.sh
cat: ~/.ssh/testfilegen2.log: No such file or directory
Run Code Online (Sandbox Code Playgroud)

copybash.sh

!/bin/bash
sourceFile="~/.ssh/testfilegen2.log"
targetFile="/etc/network/interfaces2"
sudo cat "$sourceFile" > "$targetFile"
sudo service networking restart
Run Code Online (Sandbox Code Playgroud)

有什么建议?

谢谢

linux bash quoting tilde-expansion

0
推荐指数
1
解决办法
70
查看次数

标签 统计

tilde-expansion ×12

bash ×5

angular ×1

asp.net ×1

c# ×1

c++ ×1

cygwin ×1

import ×1

io ×1

linux ×1

objective-c ×1

path-variables ×1

portability ×1

qfile ×1

qt ×1

qt4 ×1

quoting ×1

r ×1

sass ×1

shell ×1

tilde ×1

webpack ×1