我想使用less打开一个文件,并让它自动滚动类似于tail -f
.
我知道我可以做到less file
,然后Shift-F
永远向前冲;喜欢tail -f
。
我需要,less
因为它提供了--raw-control-chars
标志,这是必要的,因为我的输入是丰富多彩的。
我可以使用什么命令来检查时区文件的内容,例如/etc/localtime
或 下的文件/usr/share/zoneinfo/*
?
Ubuntu 中的 Bash 如何知道工具的特定操作列表?
例如,如果我键入apt-get和 tab 两次,我只能看到删除、更新、升级...等,但看不到另一个命令的操作或当前目录中的文件。
我正在用 Go 开发一个命令行工具,并希望为支持它的发行版提供此功能。
我正在编写一个 shell 脚本,使用任何通用的 UNIX 命令。我必须检索字符最少的行(包括空格)。最多可以有大约 20 行。
我知道我可以用它head -$L | tail -1 | wc -m
来查找 L 行的字符数。问题是,我能想到的唯一方法是手动编写一堆 if 语句,比较这些值。
示例数据:
seven/7
4for
8 eight?
five!
Run Code Online (Sandbox Code Playgroud)
将返回,4for
因为该行的字符最少。
就我而言,如果多行的长度最短,则应返回一条。选择哪一个并不重要,只要它是最小长度即可。但我没有看到为其他情况下的其他用户显示两种方式的危害。
如何read
通过按向上/向下键循环浏览内置命令支持历史记录?
当你按下向上键时,我试过捕捉,但它似乎不适用于read
:
read -p '> ' -n 3 foo
echo
echo -n "$foo" | hexdump
Run Code Online (Sandbox Code Playgroud)
按箭头键似乎有效,我可以使用它检测到它,但是如果我按aa↑,它将失败,因为它只会读取向上箭头标识符的第一个字符,而需要第三个字符来区分不同的箭头键。
我经常使用子外壳运行命令,有时希望在运行某些东西之前扩展子外壳。这样我可以验证我在做什么,并可能编辑即将发生的事情。
例如,如何在运行之前扩展以下命令行,以便我可以编辑子shell的结果?
例如
$ find -name "test.txt"
/tmp/test.txt
$ mv $(!!) /tmp/new.txt
Run Code Online (Sandbox Code Playgroud)
我希望在运行命令之前看到扩展的子shell ,如下所示:
$ mv /tmp/test.txt /tmp/new.txt
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
我正在使用 iPhone 和一个名为 ServerAuditior 的应用程序通过 ssh-ing 连接到我的机器。它没有tab键。见截图。
如何在没有 Tab 键的情况下触发自动完成?我不想为 cd-ing 键入很多字符。
我在这个应用程序中有箭头键。我可以向左向右向下滑动以使用箭头键。如果我可以在命令结束时闪烁时将其绑定到向前箭头键,那将是令人惊奇的
当我运行如下命令时,我无法获取别名以扩展我的主机帐户:
ssh user@server "bash -c \"alias\""
Run Code Online (Sandbox Code Playgroud)
我的 .bashrc 文件是:
echo .bashrc
# .bashrc
shopt -s expand_aliases
# Source global definitions (commenting this out does nothing)
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
alias php="php55"
alias composer="php ~/bin/composer.phar"
Run Code Online (Sandbox Code Playgroud)
当我运行上面的 ssh 命令时,我确实看到了“.bashrc”回显。但是如果我尝试运行别名,我什么也得不到。
我可以尝试“bash -ic”,但这实际上是在我无法轻易更改的脚本中,我想知道为什么这不起作用。
输出 ssh user@server "bash -c \"shopt\""
.bashrc
autocd off
cdable_vars off
cdspell off
checkhash off
checkjobs off
checkwinsize off
cmdhist on
compat31 off
compat32 off
compat40 off
dirspell off
dotglob …
Run Code Online (Sandbox Code Playgroud) 为什么“she-bang”以#!
,开头#!/bin/bash
?我一直接受这是如何完成的,但这背后有什么原因吗?
为什么从#
;开始 这不是通常的评论吗?或者它应该是评论的重点?
好的,我可以从命令行显示一个环境变量:
echo $COLUMNS
并得到回应。
但是我无法从 shell 脚本中执行它,我什么也得不到。因此,必须有一种方法可以导入该环境变量 - 但我找不到简单的解决方案/解释。
曾几何时,我记得看到过类似的东西$ENV_COLUMNS
,但那是不正确的(或遗漏了某些东西)。
我正在尝试这样的事情:
for x in $COLUMNS
do echo -n "-"
done
echo #to get the /n
Run Code Online (Sandbox Code Playgroud)