标签: bash

双引号内的通配符是否通配符?

在“标准 BASH”上,双引号内是否有通配符?例如:

$ touch abc
$ ls "*abc*"
Run Code Online (Sandbox Code Playgroud)

会,还是不会在 bash 上工作?

有人告诉我 Ubuntu 附带了一个不符合 POSIX 或 BASH 的 bash 变体。真的吗?

bash globbing

8
推荐指数
1
解决办法
4940
查看次数

使用 Bash 脚本删除整个目录中的所有文件(四个最新的除外)

我正在寻找一个 Bash 脚本,该脚本将进入目录列表并删除除最近创建的四个文件之外的所有文件。

我怎样才能做到这一点?

linux bash bash-scripting

8
推荐指数
1
解决办法
6193
查看次数

如何在源文件中搜索某些文本?

目前我正在使用两个命令,我相信一定有更好的方法......

wim@wim-acer:~/ffmpeg$ find . -name "*.h" -print0 | xargs -0 grep -i invalid\ preset
wim@wim-acer:~/ffmpeg$ find . -name "*.c" -print0 | xargs -0 grep -i invalid\ preset
Run Code Online (Sandbox Code Playgroud)

bash grep xargs pipe

8
推荐指数
2
解决办法
5914
查看次数

是否可以配置bash完成目录名称的方式?

我想指示 bash 使用特殊方法对某些目录名称执行补全。例如,如果路径以“$$”开头,bash 会调用我的程序执行补全,否则正常执行补全。

这是可能吗?你将如何实施它?

赏金:我真的很感激这个问题的答案。目标是当用户以特定前缀启动所有命令时,允许自动跳转完成所有命令的路径。因此,例如从远目录复制文件时,您可以键入:

cp $$patern + <Tab>
Run Code Online (Sandbox Code Playgroud)

并且自动跳转会完成

cp /home/user/CompliCatedDireCTOry/long/path/bla/bla
Run Code Online (Sandbox Code Playgroud)

你只需要添加你想要放置文件的位置。当然,我可以使用 ott 的评论将其添加到一些特定命令中,但如果有人有更好的主意,我将不胜感激。

linux bash shell command-line autocomplete

8
推荐指数
1
解决办法
461
查看次数

如何在 Linux 中使用管道指定命令行参数?

我是 shell 编程的新手,不知道如何解决这个问题。

我刚刚从网上下载了一个文件到默认目录~/Downloads。我想将该文件移动到另一个目录~/Documents.

由于我不知道下载文件的确切名称,我想我可以使用以下命令来实现我的目标:

ls -t ~/Downloads | head -1 | mv [source] [destination]
Run Code Online (Sandbox Code Playgroud)

如何指定要替换的形式参数。就我而言,我想省略[source]并填写我自己的[destination]参数~/Documents

linux bash shell pipe

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

如何在 Mac OSX 中创建符号链接?

我有一个 .sh 文件,我需要创建一个符号链接。我希望能够使用终端访问该文件。

我使用的命令是:

ln -s /path/roo.sh /usr/bin/roo
Run Code Online (Sandbox Code Playgroud)

但是当我输入时roo,它说找不到命令。如果我输入/path/roo.sh,它会起作用。我在某处错过了一步吗?

terminal bash alias osx-snow-leopard

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

bash 中哪些 emacs 快捷方式有用?

除了Ctrl+{k, u, a, e},还有哪些其他 emacs 快捷方式值得记住并在终端中有用?

linux terminal keyboard-shortcuts bash emacs

8
推荐指数
1
解决办法
1671
查看次数

复制 Terminal.app 中最后一个命令的输出

!! | pbcopy 还会再次运行命令,并且不能与交互式命令一起使用。

这依赖于提示始终是$

tell application "Terminal" to tell window 1 to history
do shell script "/bin/echo " & quoted form of result & ¬
    " | ruby -e 'puts $<.read.split(/^\\$ .*?$/)[-2][1..-1]'"
set the clipboard to result
Run Code Online (Sandbox Code Playgroud)

有人知道更好的选择吗?

terminal bash macos

8
推荐指数
1
解决办法
4957
查看次数

为什么我在 Ubuntu 上收到“rvm: command not found”?

我正在尝试设置 Siri 代理,然后执行以下步骤:

rvmsudo rvm install 1.9.3
rvm use 1.9.3 --default
rvmsudo gem install eventmachine CFPropertyList httparty json uuidtools
Run Code Online (Sandbox Code Playgroud)

但由于这些错误,我无法做到:

rvm: command not found
rvmsudo: command not found
Run Code Online (Sandbox Code Playgroud)

我知道这是由于未安装或正确设置 Ruby 版本管理器。我使用的是 Ubuntu 11.04,我只有 SSH 访问权限。

这是我事先为安装和初始化 Ruby 所做的:

sudo apt-get install nano ruby build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion
bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
echo '[[ -s …
Run Code Online (Sandbox Code Playgroud)

ssh bash ruby ubuntu rvm

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

获取SSH单行命令显示颜色

我想在 SSH 单行命令上启用彩色文本输出,但我似乎无法让它在 OS X、Ubuntu 14.10 或 OpenSUSE 12.2 上运行。

如果我通过 ssh 进入服务器并ls --color=auto在提示符中键入,它工作得很好,以不同颜色显示目录、符号链接和常规文件,但是,如果我将命令放在同一系统上的 ssh 单行中:ssh user@host "ls --color=auto",输出没有颜色。

打字echo $TERM告诉我xterm-256color是否将它放在单行语句中。

这主要用于远程构建上的颜色编码错误和警告,但最好为所有内容启用它。

有什么建议吗?

linux ssh bash command-line colors

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