标签: cd-command

如何更改 shell 脚本的工作目录

我有一个 Python 脚本,可以在相对目录中查找文件。例如:Python 脚本在/home/username/projectname/. 我有一个在 Python 脚本中调用的文件,该文件位于/home/username/projectname/subfolder.

如果我从 shell 运行脚本,因为python scriptname.py它运行得非常好。

但是,我正在尝试将该脚本作为启动服务运行。我在 webmin 中设置它,我相信它创建了一个 shell 脚本来调用它。通过启动脚本,我正在做这样的事情来调用脚本:

execute python home/username/projectname/scriptname.py
Run Code Online (Sandbox Code Playgroud)

脚本启动正常,但无法访问相关目录中的文件。

我猜有一种更好的方法可以从启动脚本中调用 Python 程序,以便它知道相对路径。

shell cd-command python

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

`cd` 在规范路径上

考虑:

$ pwd
/home/user
$ ls -l
total 3604
lrwxrwxrwx 1 user user  19 Nov 27 12:11 pages -> /var/www/pages/

$ cd pages
$ pwd
/home/user/pages
$ readlink -f .
/var/www/pages

$ cd ..
$ readlink -f .
/home/user
$ 
Run Code Online (Sandbox Code Playgroud)

当我在的时候,/var/www/pages我想上去,/var/www但是跑步cd ..让我去/home/user。显然,这是由于/var/www/pages通过符号链接获得的。当我在一个符号链接中时,我怎样才能cd建立一个目录?

shell cd-command symlink

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

哪个 2 个字母的 POSIX 命令与所有其他命令不同?

我接受了实习面试,我得到了与这个相同的问题:http : //www.glassdoor.com/Interview/Which-2-letter-POSIX-command-is-different-from-all-the-others- QTN_498236.htm

答案是对的,是的cd(正如面试官告诉我的那样)。我对这一点很困惑。为什么cd不同?我跟面试官说不一样,因为可能不会被“shell”实现,但当时我不知道我在说什么。

shell cd-command command command-names

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

用于创建目录并直接导航到该目录的命令?

我经常需要执行这两个命令:

mkdir abc
cd abc
Run Code Online (Sandbox Code Playgroud)

我很好奇是否有一个简单的命令(或我可以创建和使用的别名)一次性完成,例如

user@GROUP:~$ mdcd abc
user@GROUP:~/abc$
Run Code Online (Sandbox Code Playgroud)

这可能吗?

directory cd-command mkdir

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

在 cd-ing 到主目录之前返回到目录位置

众所周知,cd没有参数将一个人的当前目录更改为他们的主目录。我想知道在使用这样的cd命令后是否有任何方法可以返回到运行之前所在的目录位置cd

概括地说,有没有办法在一个人已经cd-ed 到另一个目录后返回到前一个目录?这两个问题的答案似乎很可能相同,但如果不是我将它们分开,因为第一个问题是我想要回答的主要问题。

shell directory cd-command

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

根据管道的输出更改目录

我想使用过滤器转到目录

例如有一个名为的文件 this-is-awsome

ls | grep this-is-awsome | xargs cd
Run Code Online (Sandbox Code Playgroud)

如何进入带有过滤器的目录?

shell bash xargs cd-command

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

如何在不列出子目录的情况下从 parent1/suba/subb cd 到 parent2/suba/subb?

我有多个父目录,它们下面有相同的文件结构。

例子:

parent1/suba/subb/
parent2/suba/subb/
Run Code Online (Sandbox Code Playgroud)

当我在的时候parent1/suba/subb,我想改为parent2/suba/subb不做类似的事情cd ../../../parent2/suba/subb。如何在不列出所有子目录和../s 的情况下执行此操作?

bash cd-command

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

快速将目录更改为类似的目录结构?

在测试环境中,我们有一个日志文件的目录结构,如下所示:

/var/Logs/int/app-id/region-code/log/file-name.log
/var/Logs/sat/app-id/region-code/log/file-name.log
/var/Logs/cat/app-id/region-code/log/file-name.log
Run Code Online (Sandbox Code Playgroud)

每个环境有许多应用程序 ID,每个应用程序 ID 有多个区域代码(取决于应用程序)。

是否有一个命令可以让我将目录从 int 更改为 sat,并使路径的所有其余部分保持不变?类似于以下内容:

$ pwd
/var/Logs/int/abc/01/log
$ cdswap int sat
$ pwd
/var/Logs/sat/abc/01/log
$ cdswap abc def
$ pwd
/var/Logs/sat/def/01/log
Run Code Online (Sandbox Code Playgroud)

如果这也有效,那将是一个奖励:

$ cdswap def/01 ghi/02
$ pwd
/var/Logs/sat/ghi/02/log
Run Code Online (Sandbox Code Playgroud)

如果没有这样的命令,我可以设置一个别名来有效地做同样的事情吗?那会怎样?

谢谢你的帮助!

cd-command command

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

通过符号链接导航时自动添加斜杠

我经常使用符号链接,并且几乎将我的整个主目录链接到一个文件夹.other.dotfiles. 当我进入我的主目录并尝试进入文件夹时.config/,它实际上是指向.other/.config/.
如果.config/是普通目录,我只需键入cd .con并点击tab 即可。Bash 会自动将其扩展为.config/(只要没有其他以 开头的文件/目录.con)。不幸的是 bash 有这个小障碍,当通过符号链接导航时:Bash 只扩展到.config(not .config/),我必须再次点击tab来添加/(进一步)。
这只是次要的,但是即使在符号链接扩展之后,是否有可能让 bash 添加斜杠?

bash cd-command autocomplete symlink

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

cd 程序是否符合 POSIX 标准?

通配和外壳扩展是一回事吗?我正在通过编写自定义 shell 来学习 C,我也在学习 POSIX。现在我想知道是否是 POSIX 合规性cd -让您回归,这是否~意味着主目录?因为并非所有 shell 都可以做到这一点,而且我不知道是否需要 cd 命令的最小 POSIX 合规性。我使用的实现是

int do_cd(int argc, const char **argv) {
    const char *path;
    if (argc > 1) {
        path = argv[1];
    }
    else {
        path = getenv("HOME");
        if (path == NULL) {
            fprintf(stderr, "No HOME environment variable\n");
            return 1;
        }
    }
    if (chdir(path) < 0) {
        perror(path);
        return 1;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

shell c cd-command posix

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

标签 统计

cd-command ×10

shell ×6

bash ×3

command ×2

directory ×2

symlink ×2

autocomplete ×1

c ×1

command-names ×1

mkdir ×1

posix ×1

python ×1

xargs ×1