标签: shell

抑制 echo 命令的执行跟踪?

我正在运行 Jenkins 的 shell 脚本,它使用 shebang options 启动 shell 脚本#!/bin/sh -ex

根据Bash Shebang 的假人?, -x, “导致 shell 打印执行跟踪”,这对于大多数用途都非常有用——除了回声:

echo "Message"
Run Code Online (Sandbox Code Playgroud)

产生输出

+ echo "Message"
Message
Run Code Online (Sandbox Code Playgroud)

这有点多余,看起来有点奇怪。有没有办法保持-x启用,但只输出

Message
Run Code Online (Sandbox Code Playgroud)

而不是上面的两行,例如通过在 echo 命令前加上一个特殊的命令字符,或者重定向输出?

bash shell command-line bash-scripting jenkins

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

如何删除Notepad ++的shell集成?

我想在 Windows 中右键单击文件时删除 Notepad++ 烦人的 shell 集成。

右键单击上下文菜单

我怎么做?

shell notepad++ integration context-menu

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

Putty SSH:CTRL+Cursor 键不起作用跳到上一个/下一个单词

当我通过 SSH 使用腻子(从我的 Windows 7 盒子)连接到我的本地 Ubuntu 开发服务器时,以下组合键无法在单词边界上向前和向后移动光标:

  • Ctrl+Left Arrow在光标板上
  • Ctrl+Right Arrow在光标板上

光标一次只能移动一个字符。我正在使用 bash。

bash shell putty inputrc ubuntu

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

我如何教我的 linux 命令行礼仪?

每当我在使用 Ubuntu 时在命令行中完成一些事情并且我的计算机对我做了一些有价值的事情时,我喜欢说谢谢,因为这是礼貌的做法。典型的对话可能如下所示:

mtp-sendfile HamishAndyPodcast.mp3 /Music/podcasts
Sending file...
Progress: 17769768 of 17769768 (100%)
New file ID: 76098
sam@sams-laptop:~$ thanks
thanks: command not found
Run Code Online (Sandbox Code Playgroud)

教我的电脑一些礼貌并以“没问题”之类的方式回应的最佳方法是什么。

terminal shell command-line ubuntu

35
推荐指数
2
解决办法
945
查看次数

zsh 与 Cygwin

如何将 zsh 配置为 Cygwin 下的默认 shell?

script cygwin zsh shell

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

获取文件的父目录

我只想获取文件的父目录的名称。

示例:当我有 时path=/a/b/c/d/file,我只想要d而不想要/a/b/c/d(我从 中获得dirname $path)作为输出。

有没有什么复杂的方法可以做到这一点?

linux bash shell

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

bash 的 !$ 和 !! 等价物是什么?在鱼壳里?

我已经使用 bash 十多年了,并且已经习惯于能够输入 !$ 来重复最后一个参数,例如:

$ mkdir foo
$ cd !$
cd foo
Run Code Online (Sandbox Code Playgroud)

(最后一行是由 shell 打印出来的,告诉你你的命令的计算结果)。同样,我经常对以下内容:

$ make_sandwich
-bash: make_sandwich: Permission denied
$ sudo !!
sudo make_sandwich
Run Code Online (Sandbox Code Playgroud)

我真的很喜欢鱼壳,但我的肌肉记忆已经很成熟了。鱼有等价物吗?我可以配置 fish 以使用相同的命令吗?

bash shell command-line fish

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

为什么默认情况下“tmux”会创建新窗口作为登录 shell?

当您在tmux正在运行的会话中启动新会话或在其中创建新窗口时,其默认行为是运行 shell(例如:)bash作为登录 shell。

我知道登录 shell 的目的是在您登录系统时执行您感兴趣的配置和过程的例行程序。但是在大多数情况下(除了可以tmux 用作登录 shell 的情况外),当用户只想打开一个新窗口时,这样做并不是用户的真正意图。

那么将其作为 的默认行为的理由是tmux什么?


文档中关于此事的唯一说明:

default-command  shell-command
        Set the command used for new windows (if not specified when the
        window is created) to shell-command, which may be any sh(1)
        command.  The default is an empty string, which instructs tmux
        to create a login shell using the value of the default-shell
        option.
Run Code Online (Sandbox Code Playgroud)

shell tmux

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

Windows & Git Bash:Bash PATH 读取 Windows %PATH% 系统变量

我最近通过进入控制面板 -> 系统 -> 高级系统设置 -> 环境变量 -> 用户变量 -> PATH 手动向 Windows PATH 添加了一个目录。(Windows 7,64 位。)

重新启动并启动 cmd.exe 后,echo %PATH%表明这有效:我在输出中看到了我最近添加的目录。

但是,启动 Git Bash 后,输出echo $PATH不包含此目录。

我可以添加export PATH=$PATH:/c/my/path我的 bashrc,但我宁愿 Git Bash 只从 Windows 获取 PATH,这样我就不必记住将路径添加到两个地方。如何做到这一点?

(一个更普遍的相关问题是,是什么设置了 Git Bash 的 $PATH?我看到在不同的地方重复了几个条目,Windows %PATH% 中的一些东西在 Git Bash 的 $PATH 中,而不是其他东西。之前发生了什么我得到了触及 $PATH 的 Git Bash 提示?)

windows shell git-bash

34
推荐指数
2
解决办法
10万
查看次数

您使用哪些 zsh 功能?

我在终端上做了很多工作,所以我学到了很多关于我选择的 shell,zsh。您使用 zsh 的哪些功能来提高自己的工作效率?我的最爱之一是多目录自动完成。因此,cd /fo{tab}/ba{tab}/ba{tab}我可以不用打字,而是可以cd /fo/ba/ba{tab}保存那么多的击键!

zsh shell command-line

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