当我输入文件名并双击 Tab 时,会出现一个目录列表,为 Tab 完成建议所有选项。默认情况下,ls它以与ls -l. 这可能吗?
我也有兴趣看看是否有任何进一步的定制可以沿着这条路完成,虽然我不确定我想要什么,只是一些想法的例子也会很酷。
我只想要以下值之一:
我试过签出lsb_release -rand uname -a,但输出仍然很冗长,没有使用grep. 这是我最接近的:
grep -oP 'CODENAME=(.+)' -m 1 /etc/lsb-release | awk -F= '{ print $NF }'grep -oP '\d+\.\d+' -m 1 /etc/lsb-release在 llvm 3.0 测试套件中,下面的代码片段在 bash 上给出了以下错误:
sh:找不到时间命令
if [ "x$RHOST" = x ] ; then
( sh -c "$ULIMITCMD $TIMEIT -p sh -c '$COMMAND >$OUTFILE 2>&1 < $INFILE; echo exit \$?'" ) 2>&1 \
| awk -- '\
BEGIN { cpu = 0.0; }
/^user/ { cpu += $2; print; }
!/^user/ { print; }
END { printf("program %f\n", cpu); }' > $OUTFILE.time
Run Code Online (Sandbox Code Playgroud)
其中 $TIMEIT = 时间。
我试图将“sh -c”更改为“eval”,但错误仍在继续。
在尝试解决此错误时,我注意到一些有趣的事情可能有助于解决此问题,也可能无济于事:运行 sh -c "time" 有效,但 sh -c "time -p" 无效。
你们有没有人知道为什么会发生这个错误,我该如何解决? …
在 MacOSX 10.7 上,Apple 引入/etc/bashrc了一个函数:update_terminal_cwd检查 Apple Terminal 是否正在运行,以及我们是否不在 emacs 中(下面粘贴了代码段)。不幸的是,通过将 autojump 包含到我的 bashrc 配置文件中,调用劣质 shell(即M-x shell)会导致调用 update_terminal_cwd。对于在劣质 shell 中调用的任何命令,我都会得到以下输出:
bash: update_terminal_cwd: command not found
achan[10:29 AM]~ > echo $PROMPT_COMMAND
Run Code Online (Sandbox Code Playgroud)
当我在 bashrc 中包含 autojump 时echo $PROMPT_COMMAND,emacs 内部看起来像这样:
{ [[ "$AUTOJUMP_HOME" == "$HOME" ]] && (autojump -a "$(pwd -P)"&)>/dev/null 2>>"${AUTOJUMP_DATA_DIR}/.autojump_errors";} 2>/dev/null ; update_terminal_cwd;
Run Code Online (Sandbox Code Playgroud)
如果我不包括自动跳转,我只会得到一个空字符串echo $PROMPT_COMMAND。
在自动跳转代码中,它插入了第一部分:
{ [[ "$AUTOJUMP_HOME" == "$HOME" ]] && (autojump -a "$(pwd -P)"&)>/dev/null 2>>"${AUTOJUMP_DATA_DIR}/.autojump_errors";} 2>/dev/null ;
Run Code Online (Sandbox Code Playgroud)
在update_terminal_cwd …
我正在尝试运行以下命令:
$ psql -d template_postgis -f /usr/local/pgsql-9.1/share/contrib/postgis-2.0/postgis.sql
Run Code Online (Sandbox Code Playgroud)
它产生了大量的错误输出,其中我只能在我的 shell 中看到结尾——我需要看到开头才能弄清楚出了什么问题。
...
psql:/usr/local/pgsql-9.1/share/contrib/postgis-2.0/postgis.sql:6065: ERROR: current transaction is aborted, commands ignored until end of transaction block
psql:/usr/local/pgsql-9.1/share/contrib/postgis-2.0/postgis.sql:6075: ERROR: current transaction is aborted, commands ignored until end of transaction block
psql:/usr/local/pgsql-9.1/share/contrib/postgis-2.0/postgis.sql:6081: ERROR: current transaction is aborted, commands ignored until end of transaction block
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试将消息发送到文本文件:
$ psql -d template_postgis -f /usr/local/pgsql-9.1/share/contrib/postgis-2.0/postgis.sql > error.txt
Run Code Online (Sandbox Code Playgroud)
文本文件只包含三个命令:
SET
BEGIN
ROLLBACK
Run Code Online (Sandbox Code Playgroud)
那么为什么不是所有的输出都被发送到文本文件,我怎样才能看到所有的输出呢?
例如,当使用 Bash 命令行时,我可以使用...
cd /volumes
Run Code Online (Sandbox Code Playgroud)
但是我想输入...
cd /vol*
Run Code Online (Sandbox Code Playgroud)
但这不起作用。有没有办法使用通配符导航目录?
在 bash 脚本中,我想检索执行的最后一个命令。在 bash 本身中,以下命令就像一个魅力。
lastCommand=$(echo `history |tail -n2 |head -n1` | sed 's/[0-9]* //')
Run Code Online (Sandbox Code Playgroud)
然而,在脚本内部,历史根本不起作用。
有没有办法在脚本中检索命令?
我正在尝试将一些文件复制到现有文件夹中。这是架构的一个例子
# origin
/home/user/myfiles/folder1/group1/1.jpg
/home/user/myfiles/folder1/group1/2.jpg
/home/user/myfiles/folder1/group2/1.jpg
/home/user/myfiles/folder1/group2/2.jpg
/home/user/myfiles/folder2/group1/1.jpg
/home/user/myfiles/folder2/group1/2.jpg
/home/user/myfiles/folder2/group2/1.jpg
/home/user/myfiles/folder2/group2/2.jpg
Run Code Online (Sandbox Code Playgroud)
目标文件夹架构已经存在,它只是不存在的原始文件 (jpg)。
我的问题是如何做到这一点?
我想最终得到类似下面的结果,但这不起作用。也许我应该在查询中包含正则表达式以将星号分隔为值并用作来源/目的地?
cp /home/user/myfiles/*/*/*.jpg /home2/user/myfiles/*/*/*.jpg
Run Code Online (Sandbox Code Playgroud)
我最初的打算是在我未回答的问题上使用此复制模式: s3cmd:如何将文件从本地复制到具有现有结构的 S3 存储桶作为可能的解决方案。
除了打开远程文件,tramp 还可用于运行远程 shell。不幸的是,有一个问题。在本地机器上我有 zsh,而在远程服务器上只安装了 bash。发出 Mx shell 会导致exec: 24: /bin/zsh: not found消息。
我可以以某种方式调整流浪汉来运行 bash 吗?
我愿意
wget http://services.runescape.com/m=itemdb_rs/3809_obj_sprite.gif?id=2
Run Code Online (Sandbox Code Playgroud)
并下载以下文件:
3809_obj_sprite.gif?id=2
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它保存为以下内容?
2.png
Run Code Online (Sandbox Code Playgroud)