如果我想搬到一个名为longfile来自/longpath/于/longpath/morepath/我可以这样做
mv (/longpath)/(longfile) $1/morepath/$2
Run Code Online (Sandbox Code Playgroud)
即我可以让 bash 知道它应该记住输入的特定部分,以便我以后可以在同一输入中重用它吗?(在上面的例子中,我使用了一个虚构的记忆命令,它通过用括号括起来和一个$插入组内容的虚构重用命令来工作)
我在 Ubuntu 16.04 上使用 GNU bash,版本 4.4.0(1)。
当我在 bash 中输入长行时,其显示混乱。
例如,假设我在~/test/test/test/test/test/test/test并输入echo "The quick brown fox jumps over the lazy doggo"它看起来像这样:
虽然我更喜欢包裹式显示器,而且我可以在不加倍线的情况下做到这一点,但这也还好。
问题是当我现在通过按退格键三次加上双引号来修复句子时,显示如下:

您可以看到打印了所需的句子dog而不是doggo。但是,无论出于何种原因,它都以绿色打印。
当我现在放大和缩小终端窗口几次时,所有这些都变得更糟。然后终端的内容在整个终端中被随机复制和连接:
(长黑框是我的提示内容的随机串联。)
我想所有这一切都可能涉及到~/.bashrc,即使我只是做了cp /etc/skel/.bashrc ~/。无论如何,这里是:
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
# don't put …Run Code Online (Sandbox Code Playgroud) 我经常使用一个命令行程序,我提供的参数包含括号。为简单起见,假设我正在写
echo 'bar(1,3)'
我想省略引号。但是,如果我这样做,我会得到syntax errror near unexpected token '('. 我想这与子外壳有关。如果这是唯一的方法,我愿意禁用它们。(尽管如果它不在命令的开头,则无法启动子shell,因此据我所知,它们没有理由禁止参数中的括号)
如何省略group输出中的列ls -hal?
我正在使用ls -hal|cut -f4 --complement -d ' '并且它在大多数情况下都能正常工作,但是如果我在其中运行它,则会/ 得到乱码输出:
drwxr-xr-x 25 root 4.0K Dec 21 06:08 .
drwxr-xr-x 25 root 4.0K Dec 21 06:08 ..
drwxr-xr-x root root 4.0K Jan 12 06:17 bin
drwxr-xr-x root root 4.0K Jan 16 10:36 boot
drwxrwxr-x root root 4.0K May 1 2018 cdrom
-rw------- root root 56M May 1 2018 core
drwxr-xr-x 20 root 4.7K Jan 6 17:54 dev
drwxr-xr-x root root 4.0K Oct 9 15:14 …Run Code Online (Sandbox Code Playgroud)