小编Ban*_*ach的帖子

是否可以命名命令的一部分以便稍后在同一命令中重用它?

如果我想搬到一个名为longfile来自/longpath//longpath/morepath/我可以这样做

mv (/longpath)/(longfile) $1/morepath/$2
Run Code Online (Sandbox Code Playgroud)

即我可以让 bash 知道它应该记住输入的特定部分,以便我以后可以在同一输入中重用它吗?(在上面的例子中,我使用了一个虚构的记忆命令,它通过用括号括起来和一个$插入组内容的虚构重用命令来工作)

command-line bash line-editor

7
推荐指数
3
解决办法
1410
查看次数

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"它看起来像这样: 在此处输入图片说明 虽然我更喜欢包裹式显示器,而且我可以在不加倍线的情况下做到这一点,但这也还好。

问题是当我现在通过按退格键三次加上双引号来修复句子时,显示如下: 在此处输入图片说明

所述o"在端部是一个显示错误,通过按输入的证实: 在此处输入图片说明

您可以看到打印了所需的句子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)

bash ubuntu bashrc

5
推荐指数
2
解决办法
2952
查看次数

Bash:允许在命令参数中使用括号(即防止“意外标记 '('”)

我经常使用一个命令行程序,我提供的参数包含括号。为简单起见,假设我正在写

echo 'bar(1,3)'

我想省略引号。但是,如果我这样做,我会得到syntax errror near unexpected token '('. 我想这与子外壳有关。如果这是唯一的方法,我愿意禁用它们。(尽管如果它不在命令的开头,则无法启动子shell,因此据我所知,它们没有理由禁止参数中的括号)

bash quoting

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

省略 ls -hal 中的一列

如何省略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)

ls text-formatting

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