标签: bash

如何防止或中断终端中的意外复制/粘贴?

当我粘贴到终端时,有时剪贴板中的内容不是我所期望的。具体来说,它有时是来自网站的页面和文本页面。

发生这种情况时,终端会发疯,快速闪烁并command not found以最快的速度吐出。

我担心有一天文本会包含类似rm -rf /.

什么是最好的方法:

  • 当我犯这样的错误时采取行动?
  • 防止这样的错误发生?

有关详细信息,我在 Linux 上的 urxvt 终端的 GNU 屏幕窗口中使用 bash。

在我的经验中,通常Ctrl-CCtrl-Z没有影响。

linux terminal bash urxvt copy-paste

22
推荐指数
1
解决办法
7921
查看次数

将所有文件从子目录移动到当前目录?

如何将所有子目录中包含的文件移动到当前目录,然后删除空子目录?

我发现了这个问题,但将答案调整为:

mv * .
Run Code Online (Sandbox Code Playgroud)

不工作; 我收到了很多警告,如下所示:

mv: wil and ./wil are identical
Run Code Online (Sandbox Code Playgroud)

子目录中包含的文件具有唯一名称。

bash mv folder-redirection

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

为 rm 命令设置别名并使其更安全的最佳实践

前段时间我错误地删除了我的主文件夹,因为我rm -rf *在错误的终端上运行了 a ,其工作目录是主文件夹!

我希望我有一个rm命令的别名,但事实并非如此。

现在,我打算制作一个脚本作为rm.

你有什么最佳实践建议吗?

谢谢。

unix script bash shell rm

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

相当于 PowerShell 中 bash 的 Ctrl-r

有没有人知道在 Windows PowerShell 中具有非常有用的 bash [Ctrl-r](和[Ctrl-o])的向后命令搜索功能的方法?

C-r是一种更强大的arrow up历史操作,它就像 emacs 的一样C-r,它在您之前输入的命令中向后搜索。然后C-o执行该命令并立即将下一个命令放在该行之后。这样您就可以有效地重复传递的一系列命令。它还会查找保存的历史记录,而不是会话历史记录。(~/.bash_history文件)。这是无限有用的。

谢谢。

ps:作为奖励,不按周期工作的选项卡完成也会很棒。

keyboard-shortcuts powershell bash history

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

如何在shell中测试一个变量是否等于一个数字

我有这个无法正常工作的 shell 脚本。

输入:

Server_Name=1
if [ $Server_Name=1 ]; then  
echo Server Name is 1  
else
echo Server Name is not 1
fi
Run Code Online (Sandbox Code Playgroud)

输出:

Server Name is 1
Run Code Online (Sandbox Code Playgroud)

但是,如果我改变Server_Name=2,输出是:

Server Name is 1
Run Code Online (Sandbox Code Playgroud)

当我更改Server_Name为 时2,我希望它说:Server Name is 2

我知道这是if [ $Server_Name=1 ];一部分。

我如何解决它?

linux bash shell shell-script

22
推荐指数
2
解决办法
14万
查看次数

如何解决:-bash::无法执行二进制文件

我有一个名为 b1 的文件,其中包含汇编语言。我正在尝试使用在 OSX 上执行文件

$ ./b1
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

-bash: ./b1: cannot execute binary file
Run Code Online (Sandbox Code Playgroud)

我看过其他类似的问题,但无济于事。我肯定在使用 64 位架构。

以下是相关信息的输出:

$ file b1
b1: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped
$ uname -a
Darwin Anthonys-MacBook-Pro.local 13.0.0 Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT 2013; root:xnu-2422.1.72~6/RELEASE_X86_64 x86_64
Run Code Online (Sandbox Code Playgroud)

编辑:

Ranas b1最终以: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/as: fatal error in /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../libexec/as/x86_64/as

bash binary-files macos

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

如何使用 Bash 在 Linux 下创建名为“-p”的目录?

在 Bash 中,如何创建名为 的目录-p

mkdir -p失败的。
mkdir "-p"失败的。
mkdir "\-p"失败的。
mkdir \-p失败的。

linux bash

22
推荐指数
2
解决办法
988
查看次数

linux管道符号“|”是什么意思 做?

这是一个以相反顺序对文件夹中的文件进行排序的命令

ls | sort -r
Run Code Online (Sandbox Code Playgroud)

有什么作用 |该命令符号有?

我在这里真正寻找的是 Linux 初学者对管道的高级(易于理解)解释。我在 Superuser 上看到了有关管道的其他问题,但没有任何答案可以简单地解释它们的作用以及它们与重定向(><符号)的区别。

linux bash command-line pipe

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

Windows 命令行:创建一个名称中包含当前日期的文件

我正在尝试从批处理脚本创建一个 zip 文件。我需要将它命名为 archive_.zip

不幸的是,由于斜线,这不适用于日期格式为 y/m/d 的系统:

zip some_options "archive_%DATE%.zip"
Run Code Online (Sandbox Code Playgroud)

%DATE%变量扩展到像

Mon 09/28/2009
Run Code Online (Sandbox Code Playgroud)

我可以访问 gnuwin32 包,所以我可以使用,比如,sed用破折号替换空格和斜线。问题是,我将如何使用 的输出sed来创建 zip 存档的文件名?

在 Unix (bash) 中,可以使用反引号来就地评估命令并在另一个命令中使用其输出,例如:

zip [...] archive_`echo %DATE% | sed -e s/.../.../`.zip
Run Code Online (Sandbox Code Playgroud)

Windows 中有类似的东西吗?

或者也许有一种方法可以将变量设置为的返回值sed并使用它来构造文件名?

windows bash environment-variables

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

从另一个目录运行脚本

很多时候,我想要执行的脚本不在我当前的工作目录中,我真的不想离开它。

从另一个目录运行脚本(BASH、Perl 等)是一个好习惯吗?他们通常会找到正常运行所需的所有东西吗?

如果是这样,运行“远程”脚本的最佳方法是什么?是吗

. /path/to/script
Run Code Online (Sandbox Code Playgroud)

或者

sh /path/to/script
Run Code Online (Sandbox Code Playgroud)

以及sudo在这种情况下如何使用?例如,这不起作用:

sudo . /path/to/script
Run Code Online (Sandbox Code Playgroud)

linux script bash shell command-line

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