shell

如何编写脚本 tmux 在 tmux 会话(窗口)中执行脚本
shell

如何编写脚本 tmux 在 tmux 会话(窗口)中执行脚本

我有这个脚本: #!/bin/sh tmux new-session top \; split-window -v \; split-window -h \; select-pane -t 0 \; split-window -h \; attach-session 我想在每个目录中执行一个 shell 脚本。如何实现这个功能tmux new-session sh /path/script.sh \;? ...

Admin

使用 Shell Launcher V2 启动自定义 shell 应用程序时,如何让所有应用程序显示在 shell:AppsFolder 中?
shell

使用 Shell Launcher V2 启动自定义 shell 应用程序时,如何让所有应用程序显示在 shell:AppsFolder 中?

我使用 Shell Launcher V2 设置了一个自定义应用(win32,不是 UWP),以在运行 Windows 11 Enterprise 的计算机上作为 shell 运行。这很好用,但我需要从 shell 应用启动另一个 win32 应用。通常,我使用 shell:AppsFolder 获取另一个应用的 AUMID 并启动它。 问题是,shell:AppsFolder 仅在使用自定义 shell 时显示 UWP 应用程序,而在正常运行时(即使用普通资源管理器 shell),我会在 shell:AppsFolder 中获取所有已安装的程序(UWP 或...

Admin

Shell 脚本是否等待在不同屏幕中执行的命令?
shell

Shell 脚本是否等待在不同屏幕中执行的命令?

我正在编写一个计划的 shell 脚本。目标是为 Minecraft 服务器编写一个简单的备份脚本。该服务器以自己的命名方式运行屏幕。 我假设我的脚本包含类似以下内容的内容 screen -S $(screen_name) -p 0 -X stuff "save-all^M" 服务器命令需要一些时间。我的问题是,脚本会立即继续,还是会等到所访问屏幕内的命令完成?如果它立即返回,我该如何等待它(在这种情况下,命令save-all会保存当前世界。下一步是将文件复制到备份文件夹中,因此我显然想等到世界正确保存)? ...

Admin

当在 KDE 中的 Konsole 下,其窗口终端 shell bash 正在运行时,如何在 shell 脚本中询问 Konsole_nn 号码?
shell

当在 KDE 中的 Konsole 下,其窗口终端 shell bash 正在运行时,如何在 shell 脚本中询问 Konsole_nn 号码?

在 KDE 中有一个上级 Konsole。 在这个上级 Konsole 下,我打开了许多窗口。每个窗口的标题行都写着“Konsole nn”。其中 nn 是 Konsole 编号,不同窗口的编号不同。 在每个窗口中,shell bash 都在运行。 每个 shell 都附加到一个带有数字 mm 的伪终端“/dev/pts/mm”。 在 bash 中我正在运行脚本。 我想要一个脚本来请求指定 pts/mm 伪终端号对应的 Konsole_nn 号码。 有办法吗? 或者,至少,如果这不可能的话,询问当前 bash 在哪个 Konsole_nn 号码中运行。 怎么...

Admin

用户使用 zshbuiltin read 命令输入密码后,如何打印换行符
shell

用户使用 zshbuiltin read 命令输入密码后,如何打印换行符

我想在执行 curl 命令时安全地读取用户的密码。我做了一个基本的概念证明,它大部分都有效,但 echo 命令的输出与“密码”提示符在同一行,我正在尝试找到一种方法将其放在新行上。当我运行命令时,会打印“密码:”提示符,我输入“test”,然后 echo 命令返回并在同一行上填写“test”。我如何让它在新行上打印 echo 命令? 我正在使用以下输出执行此操作 $ echo "this is a $(read -e -s \?"Password: ")" Password: this is a test 我想要的是一种执行上述 echo 命令的方法,但当...

Admin

如何使用 Shell 脚本从变量输入中提取前 6 个字符
shell

如何使用 Shell 脚本从变量输入中提取前 6 个字符

我在 Mac 自动程序中运行一个 shell 脚本。我对这种类型的脚本编写知之甚少。基本上只是从其他来源找到了一些可以使用的东西。我如何制作此行 mkdir "$1_"$(date -j +"%m%y") 仅使用内容中的前 6 个字符$1?例如,用户将类似 的文本输入123456Description到第一个变量中。我希望它删除Description(可以是任何文本),并仅挑选出条目中的前 6 位数字。 完整的 Shell 脚本如下: mkdir -p "$1 $(date -j +"%m%y")/info" rm -r "$1" mkdir "${1:0...

Admin

在 KDE 下的 Konsole 中,重新打开崩溃的 bash shell 时,如何控制它获取的 /dev/pts/nn 编号?
shell

在 KDE 下的 Konsole 中,重新打开崩溃的 bash shell 时,如何控制它获取的 /dev/pts/nn 编号?

我使用 Kubuntu 20.04 和 KNOPPIX 9.1,并且始终使用 KDE 桌面,并且在每个窗口中使用 Konsole 15 shell bash。 我总是有两个级别的 bash:第一个级别是为用户自动创建的,例如 knoppix,第二个级别是我为用户“root”创建的。 窗口和其中的 shell 具有两个带有附加数字的基本名称,例如“Konsole-2”、“/dev/pts/1”。 当 bash 崩溃时,bash 就会消失,而不会将其历史列表写入历史文件。 并且Konsole窗口关闭。 为了恢复以前的状态,我在 Konsole 下打开了一个新窗口...

Admin

在 Windows 终端中,如何将 bash 添加为 shell 选项之一?
shell

在 Windows 终端中,如何将 bash 添加为 shell 选项之一?

我使用的是 Windows 10,刚刚下载并安装了最新版本的 Windows Terminal。我想在终端中使用 bash shell,但当我打开设置时,我没有看到 bash 选项 是否可以将 bash(或类似的东西)添加为可选择的 shell,如果可以,我该怎么做? ...

Admin

如何配置 shell 命令以可选择运行?
shell

如何配置 shell 命令以可选择运行?

我有许多项目,我想让项目列表在我的 Mac 上可见,并可单击打开。每个项目都可以使用 shell 命令打开。 我使用 VSCode 来处理项目,因此命令看起来像code [path/to/my/project]。 我尝试在桌面上创建一个扩展名为 的文件sh,并使用命令打开我的项目。如果我直接在终端中运行该命令,它会正常工作,即它会打开 VSCode。但是,如果我单击该文件,它会打开终端,终端会闪烁,就是这样。 我知道我可以为终端创建别名并使用它们,但我很难记住每个项目的别名。 我也知道 VSCode 会记住最近的文件夹。但是,我的项目列表太大,VSCode ...

Admin

过滤掉 xml 树中带有空标签的节点,并且某些元素有时会换行
shell

过滤掉 xml 树中带有空标签的节点,并且某些元素有时会换行

如何仅获取没有空的节点<有时为空标签>? 只取一小段 xml 来进行尝试,要删除的是第一个为空的节点<sometimes_empty_tag></sometimes_empty_tag>: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <xml> <node> <sometimes_empty_tag></sometimes_empty_tag> <som...

Admin

如何在目标用户环境下运行 sudo 且无需密码提示
shell

如何在目标用户环境下运行 sudo 且无需密码提示

root@Test:~# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.5 LTS Release: 20.04 Codename: focal root@Test:~# 我是用户 1,需要以用户 2 的身份运行脚本,并且不能有任何密码提示。将下面一行添加到 sudoers(当然使用 visudo) user1 ALL=(user2) NOPASSWD: /usr/local/bin/...

Admin

在 bash shell 中,`rm -rf ./*` 比 `rm -rf *` 更好/更安全吗?
shell

在 bash shell 中,`rm -rf ./*` 比 `rm -rf *` 更好/更安全吗?

在 Linux bash shell 中,我看到有人输入 ,rm -rf ./*因为他想删除当前文件夹的所有文件和文件夹。我想知道输入./*而不是有什么好处*? 我认为最好使用更简单的形式,rm -rf *因为它更短,并且如果您不小心在和这rm -rf ./*之间添加空格,则可能会造成灾难()。./rm -rf . /* 我对吗 ? ...

Admin

如何在终端中使用ISO8859-9编码?
shell

如何在终端中使用ISO8859-9编码?

我使用文本编辑器通过编码 ISO8859-9 创建了一个包含“ırmak”的文件。然后,我尝试在终端中使用“cat”命令打印内容。但我做不到。我使用命令 export LC_ALL=tr_TR.ISO8859-9 export LANG=tr_TR.ISO8859-9 cat text.txt 执行完这些命令后终端打印: �rmak 笔记:命令 echo ırmak 终端打印: ırmak ...

Admin

环境变量对登录 shell 有何作用?
shell

环境变量对登录 shell 有何作用?

我正在编写自己的 shell,对环境变量有点困惑。如果您启动以用户身份登录的任何进程,它将可以访问一些“标准环境变量”,例如 PATH。根据我的研究,登录 shell 设置了这些“标准环境变量”。因此,从逻辑上讲,根据我对环境变量的了解,用户拥有的所有进程都应该是登录 shell 的子进程。所以我的问题是,用户拥有的所有进程是否确实是登录 shell 的子进程,或者登录 shell 是否以特殊方式存储环境变量,以便用户拥有的进程可以访问它们? ...

Admin