小编mpy*_*mpy的帖子

zsh 初始工作目录

当我开始一个新zsh会话时,它似乎总是将其工作目录设置为zsh我系统上运行的任何其他会话的最后一个已知工作目录。有没有办法配置zsh为刚开始$HOME

例如,有时我进入通过网络共享的非常慢的目录或其他东西,我想打开一个新的 shell 并做其他事情,但我不能做任何其他事情,因为我的新会话太忙了试图设置它的工作目录到网络上那个慢速路径。

zsh oh-my-zsh

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

如何禁用历史扩展的确认,如`!!`

Zsh 对我非常照顾,有时可能会有点过分。我宁愿让它远离我的业务的时候之一是当它“想要确保我想要执行给定的命令”时。我遇到的功能是:

命令:
sudo !! - 运行以 sudo 为前缀的上一个命令

^old^new- 运行上一个命令,但将第一次出现的“旧”替换为“新”


问题:
当我输入上面列出的两个命令之一并点击时Enter,而不是运行命令立即,命令扩展到实际要运行的内容,我必须Enter再次点击才能实际执行它。第一个世界问题,但仍然如此。

1 $ pwd
2 /home/neil
3 $ sudo !!
4 $ sudo pwd
5 /home/neil
Run Code Online (Sandbox Code Playgroud)

我想跳过第 4 步。这在 bash 中默认被跳过。

zsh command-history

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

不要在选项卡完成时扩展通配符

我想知道如何配置zsh扩展文件名中的通配符。例如,我有一个包含数百个文件的目录,名称如下:

a.foo-bar a.foo b.foo-bar b.foo c.foo-bar c.foo
Run Code Online (Sandbox Code Playgroud)

我希望能够通配符执行选项卡完成匹配,所以

cat *.foo-< tab > => cat *.foo-bar
Run Code Online (Sandbox Code Playgroud)

这是我得到的:

$ cat *.foo-
=> cat a.foo-bar
   文件
   a.foo-bar b.foo-bar c.foo-bar

zsh wildcards tab-completion

6
推荐指数
2
解决办法
1128
查看次数

shell 脚本中的“elif”和“else if”有什么区别?

我对 shell 脚本很陌生。

当我查看一些为ksh ( #!/bin/ksh)编写的代码时,我看到在一个脚本中else if也有elif使用。

那么,shell 脚本中else if和之间有什么区别elif

unix shell ksh

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

更改 zsh 自动标题以隐藏用户和主机

现在,当我打开 zsh 白蚁终端时,窗口标题是

user@host: ~

有没有办法在user@host不完全禁用自动标题的情况下删除该部分?

如果我启用DISABLE_AUTO_TITLE.zshrc则窗口标题始终为termite. 我只想在浏览目录时更改窗口标题,以便它不显示用户和主机 - 仅显示目录,但是,例如,如果我打开nmtui我希望窗口标题自动变为nmtui而不是保持不变termite.

terminal zsh oh-my-zsh

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

Unix“cp -p”。我可以有选择地保留属性吗?

我想复制修改和访问时间,而不是用户 ID。如果我使用

cp -p source target
Run Code Online (Sandbox Code Playgroud)

它会复制一切。

我正在尝试将文件复制到其他用户,但保持原始日期不变。

permissions cp macos

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

如何在没有尾随 / 的情况下列出 bash 中的文件夹

我知道

ls -d */
Run Code Online (Sandbox Code Playgroud)

将当前目录中的所有文件夹列为dir1/ dir2/ dir3/.

bash 脚本中是否有可能将文件夹显示为dir1 dir2 dir3

linux bash path

3
推荐指数
2
解决办法
8669
查看次数

如何从 .b1 存档中打开/提取文件?

我已经下载了一个档案,它有一个.b1扩展。

如何打开此存档并提取其内容?

archiving

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

通过修剪名称末尾的“\n”来重命名文件

我制作了一个 python 脚本来解析大量数据并保存结果,最终生成了约 162 个文件。该脚本将这些文件命名为Parsed_NameOfOriginal\n. 请注意\n最后的 不是有意的,而是由我的脚本以某种方式添加的。由于生成这些结果需要花费很多时间,因此我不想再次运行固定脚本。

有没有办法使用 Linux 终端或 shell 脚本以相同的名称重命名目录中的每个文件,但\n最后修剪它?

Parsed_ResultA\n变为Parsed_ResultA

注意:这是添加的新行字符,而不是文本\n

linux bash

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

FreeDOS AUTOEXEC.BAT

我正在使用由 FreeDOS 制成的 FreeDOS 软盘启动盘sys.com(我在虚拟机上使用它们,软盘是虚拟的)。

我花了一整天的时间试图制作一个AUTOEXEC.BAT加载ctmouse(在 FreeDOS 上使用鼠标的应用程序)和HIMEMX(高内存管理器)的程序。

使用ctmouse,我只使用

lh A:\folder\CTMOUSE.EXE
Run Code Online (Sandbox Code Playgroud)

效果很好,而

DEVICE=A:\HIMEMX.EXE
Run Code Online (Sandbox Code Playgroud)

不起作用。它给出了错误:

Bad command or filename -'DEVICE'.
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?我已经尝试了几种方法来解决这个问题,但都没有奏效。

freedos batch-file

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

循环脚本直到文件存在

我正在尝试让脚本在 /tmp 中找到一个名为 sleep.txt 的文件,但它一直在循环

这是我所拥有的:

#!/bin/sh

set -x
until [ $(ls -la | grep -w "sleep.txt" | wc -l) != 0 ];
do
        echo "Sleep.txt doesn't exist as of yet..."
done
        echo "Sleep.txt now exists!!!"
        sleep 2
exit
Run Code Online (Sandbox Code Playgroud)

bash shell-script

3
推荐指数
2
解决办法
5088
查看次数

如何递归删除所有 JPG 文件,但保留包含“样本”的文件

如何查找和删除.jpg目录树中的所有文件,但文件名中包含“sample”的文件除外?

例如 :

a.zip          ->  keep it  
b.jpg          ->  delete it  
a-sample.jpg   ->  keep it  
b-Sample.jpg   ->  keep it  
Run Code Online (Sandbox Code Playgroud)

linux bash regex rm

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