如果您在一个包含大量文件的目录中,请在 CentOS 和 Ubuntu 上对此进行测试
$ ls
day1.tar.gz day2.tar.gz day3.tar.gz day4.tar.gz day5.tar.gz day6.tar.gz day7.tar.gz day8.tar.gz day9.tar.gz day10.tar.gz
Run Code Online (Sandbox Code Playgroud)
你点击Alt+Shift+{它会 awk-complete 每个文件名
<Alt+Shift+{>
Run Code Online (Sandbox Code Playgroud)
完成为:
day{1{0.tar.gz,.tar.gz},2.tar.gz,3.tar.gz,4.tar.gz,5.tar.gz,6.tar.gz,7.tar.gz,8.tar.gz,9.tar.gz}
Run Code Online (Sandbox Code Playgroud)
和
day1<Alt+Shift+{>
Run Code Online (Sandbox Code Playgroud)
完成为:
day1{0.tar.gz,.tar.gz}
Run Code Online (Sandbox Code Playgroud)
问题:这是什么?这个叫什么?它在哪里有用?我该如何配置它?我可以对以子字符串结尾而不是以一个开头的文件执行此操作吗?
我对我.profile的终端应用程序进行了一些更改。我可以启动终端,但我不再收到提示。我无法显示隐藏文件以删除.profile或.bashrc文件。
如何在不使用终端的情况下显示隐藏文件?
我想知道是否可以从命令行获取要在我的 Dropbox 文件夹中共享的文件的 URL。我会避免每次都打开网络浏览器。
我正在尝试尽可能多地使用 Homebrew 管理我的 OSX 包。我已经使用 Homebrew 安装了 Fish Shell 和 NVM,但无法让 Fish 识别我的 NVM 安装。使用 Bash 运行时,NVM 命令运行良好,可能是因为当您使用 Homebrew 安装 NVM 时,它让我在我的 .bashrc 文件中添加了一些额外的行。
使用 Homebrew 安装 NVM 后,它说:
Add NVM's working directory to your $HOME path (if it doesn't exist):
mkdir ~/.nvm
Add the following to $HOME/.bashrc, $HOME/.zshrc, or your shell's
equivalent configuration file:
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
Run Code Online (Sandbox Code Playgroud)
此外,Homebrew 安装脚本似乎已将此行添加到我的 ~/.profile
source /usr/local/opt/nvm/nvm.sh
Run Code Online (Sandbox Code Playgroud)
我希望可以对 Fish 使用相同的技术来访问 NVM 安装,但我似乎无法让它工作。
我发现了这种技术:https : //github.com/passcod/nvm-fish-wrapper 但我宁愿不必包装 NVM。
任何人都可以帮忙吗?
我有以下脚本:
#!/bin/bash
function consoleWriteLine() {
echo $* >&2
}
consoleWriteLine " indented by 4 spaces"
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我得到以下输出:
$ ./test.sh
indented by 4 spaces
Run Code Online (Sandbox Code Playgroud)
我的4个空间去哪儿了?我如何让他们回来?
我必须编译一个程序(不是我自己制作的),并且在他的中autogen.sh有一个搜索libtool的脚本命令
LIBTOOL=$(which libtool)
但命令找不到命令。我看到libtool的路径/usr/share/libtool,而不是/usr/bin/libtool。
我找到libtoolize的/usr/bin/,但我没有改变任何路径。
我想知道libtool和libtoolize之间是否有区别。
我的理解是它.bash_profile总是通过 SSH 登录来调用。
但是,除非执行以下操作,否则我看不到启用的各种设置:
ssh $host "source ~/.bash_profile ; echo $PATH "
.:/mnt/spark-1.4.1/bin:/mnt/spark-1.4.1/sbin:/mnt/scala-2.11.2/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
Run Code Online (Sandbox Code Playgroud)
当我简单地这样做时:
ssh $host "echo $PATH "
Run Code Online (Sandbox Code Playgroud)
PATH 信息只是默认的
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
Run Code Online (Sandbox Code Playgroud)
用户是 root,默认 shell 是 bash。
$ ll /bin/sh
lrwxrwxrwx 1 root root 4 Aug 6 19:54 /bin/sh -> bash
Run Code Online (Sandbox Code Playgroud)
更新root 的 shell为bash
grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
Run Code Online (Sandbox Code Playgroud) 带有大量参数的命令有时会使用斜线转义换行符,以使其更易于在 Web 上阅读。这是一个愚蠢的例子
echo -n \
"hello" \
"world"
Run Code Online (Sandbox Code Playgroud)
我不知道如何“正确”粘贴和编辑这个
粘贴到你得到的 bash 中
$ echo -n \
> "hello" \
> "world"
Run Code Online (Sandbox Code Playgroud)
现在,如果我在 OSX 上使用后退箭头键导航,我只能使用 编辑该行> "world",而不是前两行。通常我必须粘贴到临时文件中来修复命令。
有没有更好的方法来执行这个允许编辑任何行的粘贴?bash使这项工作以更好的方式工作的设置?
如果 shell 函数需要特定的 -e/+e 设置才能工作,是否可以在本地设置该设置,然后在退出该函数之前将其恢复到以前的设置?
myfunction()
{
# Query here if -e is set and remember in a variable?
# Or push the settings to then pop at the end of the function?
set +e
dosomething
doanotherthing
# Restore -e/+e as appropriate, don't just do unconditional set -e
}
Run Code Online (Sandbox Code Playgroud) 我在 Windows 机器上使用 git bash:在 2016-02-23 上构建的适用于 Windows 的 Git 2.7.2 版(32 位版本),可从https://git-scm.com 获得。
在 bash 中,我可以将目录复制/c/到/e/(USB 拇指驱动器)。但是,当我尝试使用rsync. 我尝试添加cygdrive到目录名称,但这没有用。还尝试添加-e(只是为了看看会发生什么)也不起作用。
我提到复制命令有效,因为奇怪的是我可以以一种方式看到驱动器,但不能以另一种方式看到它。
复制成功:
不成功rsync:
在某些时候,我相信我得到了完全相同的错误 (255),这让我看到了这篇文章。但是,这里的解决方案与cygwingit bash相关,而不是 git bash。
/sf/ask/1187838361/
关于 的力学有很多很好的讨论rsync,尤其是从mitchellh. 但是,我不确定他们引用的哪些组件存在于我的安装中,或者不确定如何判断。我在这个网站上问了一个关于这个问题的单独问题。来源:https : //github.com/mitchellh/vagrant/issues/3236
来源:http : //mingw-users.1079350.n2.nabble.com/Windows-c-drive-td6555321.html
当我这样做时,cat /etc/fstab我得到以下信息:
$ cat /etc/fstab
# For a description of the file …Run Code Online (Sandbox Code Playgroud) bash ×10
linux ×3
command-line ×2
macos ×2
autocomplete ×1
dropbox ×1
fish ×1
homebrew ×1
mingw ×1
node.js ×1
rsync ×1
shell-script ×1
ssh ×1
terminal ×1
windows ×1