如何更改 ConEmu 设置,以便始终在我打开它时,它会在我选择的目录而不是默认的 ConEmu 文件夹中启动 cmd?
在 shell 脚本中,如果我需要从目录运行命令,我可以使用子 shell 来确保我返回到原始上下文:
(cd temporary/new/directory ; command)
# now I am still in original directory
Run Code Online (Sandbox Code Playgroud)
这可以在 Windows 批处理文件(或 cmd 文件)中完成吗
在批处理文件中做同样的事情会让我留在新目录中。
我可以:
pushd temporary\new\directory && command && popd
Run Code Online (Sandbox Code Playgroud)
但是 popd 依赖于command.
有任何想法吗?
我需要在 cygwin 环境之外运行 cygwin shell 脚本而不更改工作目录。
如果我只运行\path\to\bash.exe -c command,则路径设置不正确并且找不到 cygwin 程序。
如果我使用该--login选项,bash则正确设置路径,但也会更改到我的主目录。
我应该使用哪些选项来启动 bash 以保留当前工作目录,并找到 cygwin 可执行文件?
有没有办法以cd超级用户权限运行命令来访问 root 拥有的目录?当我跑步时sudo cd <path>,我得到了sudo: cd: command not found。
我如何使用从控制台获取当前工作目录git?
类似:如果我在:~/projects/someproject/somesubfolder/,控制台命令应该说/home/va1en0k/someproject/(如果.git/这个目录中有一个文件夹或类似的东西)
或者如果GIT_WORKING_DIR设置,它应该返回它。或任何 Git 用来确定它的东西
我有一个很大的 RAR 档案文件夹。文件夹级别有明显的层次结构。我想一次解压缩整个档案集。
我有以下单线,可以工作:
find -name "*.rar" -print0 | xargs -0 -n 1 -P 4 unrar x
Run Code Online (Sandbox Code Playgroud)
(请注意,我们并行运行四个线程以加快操作速度。:-))
此命令的问题在于 xargs 是在每个 RAR 文件的顶级目录中执行的。这意味着所有输出都被转储到顶级文件夹中。
相反,我希望输出与 RAR 存档存在于同一文件夹中。
例子:
Top level
|--FolderA
|----File1.rar
|----File2.rar
|--FolderB
|----File1.rar
|----File2.rar
|----File3.rar
|--FolderC
|----File1.rar
|----File2.rar
Run Code Online (Sandbox Code Playgroud)
每个“File1.rar”文件都包含一个同名文件。因此,将它们全部提取到顶级文件夹会导致覆盖问题。
总而言之,我想提取上述层次结构中的所有 RAR 文件。我希望每个 RAR 文件的内容都存在于 RAR 文件所在的文件夹中。
在我看来,解决方案是以某种方式设置工作目录,然后在那里运行 unrar 命令表单。但是,由于 find 命令给了我文件名,而不是目录,我不能做类似的事情
| xargs -I{} -n 1 -P 4 cd {} \; unrar x {}
Run Code Online (Sandbox Code Playgroud)
没有编写一个 Perl 或 Python 脚本来环绕 unrar 命令并处理将提供的路径分成其部分并执行命令,有没有更好的方法来实现这一点?
嗨,我对批处理文件还很陌生,如果这个问题看起来很愚蠢,我很抱歉,但我真的需要一些帮助。
所以我需要我的批处理脚本来检查它是否在指定的文件夹中,%userprofile%\Desktop例如。我不希望它关心自己的文件名。我完全不知道从哪里开始。我知道如何获取当前路径/文件名等,但这就是我所知道的。如何让程序将其当前路径与我想查看它是否在其中的路径进行比较?或者还有其他更有效的方法吗?
我想要实现的是这样的:
if this file is in Desktop folder(
echo It's here
)else(
echo It's not here
)
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏,谢谢大家
我正在研究 Google Identity Toolkit,并且遇到了一个看似谜语的问题。
https://developers.google.com/identity/toolkit/web/quickstart/nodejs
我应该把这个文件放在哪里?
使用 screenrc,如何C-a c在当前窗口的工作目录中打开一个新窗口?默认情况下,它似乎在调用原始屏幕会话时在工作目录中打开新窗口。
我想通过包含的另一个脚本更改我的脚本的工作目录。
第一个脚本:
#!/bin/bash
pwd
source script2
pwd
Run Code Online (Sandbox Code Playgroud)
Sedond脚本:
cd ..
pwd
Run Code Online (Sandbox Code Playgroud)
结果如下:
> ./script1
/home/sebi/testdir1/testdir2 # 1st script
/home/sebi/testdir1 # 2nd script
/home/sebi/testdir1 # 1st script
Run Code Online (Sandbox Code Playgroud)
我在测试这个脚本时编辑了这个问题,它按我想要的方式工作,但是以下脚本的工作方式不同,因为下标完成执行父级与调用下标之前位于同一目录中。
#!/bin/bash
while :
do
sleep 5
cat /home/.../shelldata.txt >> /home/.../gmodshell #logging
((source /home/..../shelldata.txt) 2>&1) | \
sed -e "s/..shellRunner.sh..line../SH/" > \
/home/..../shellFeedback.txt
echo > /home/..../shelldata.txt
done
Run Code Online (Sandbox Code Playgroud)
整个目标是使用文件访问 bash,这样我就可以将命令写入一个文件,一段时间后我在另一个文件中获得输出。
bash ×2
batch-file ×2
linux ×2
cd ×1
conemu ×1
cygwin ×1
git ×1
gnu-screen ×1
installation ×1
shell ×1
sudo ×1
windows ×1
windows-10 ×1
xargs ×1