标签: bash

是否可以更改我的终端窗口提示文本?

我的终端窗口默认提示文本占用了太多空间(我猜我的电脑名太长了)。

我可以自定义这个吗?

bash

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

bash 脚本中的命令是并行运行还是一个接一个运行?

以下面的shell脚本为例:

#!/bin/bash
python do_this_first.py 
python do_this_second.py
python do_this_last.py
Run Code Online (Sandbox Code Playgroud)

当我运行上面的时候,3个python脚本会并行运行吗?因为我希望 'do_this_second' 只在 'do_this_first' 完成后运行。

linux bash

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

在命令行上检查/查找字符串中的 UTF-8/Unicode 字符的程序?

我刚刚意识到我的系统上有一个文件;它通常列出:

$ ls -la T?S?ER.txt 
-rw-r--r-- 1 user user 8 2013-04-11 18:07 T?S?ER.txt
$ cat T?S?ER.txt 
testing
Run Code Online (Sandbox Code Playgroud)

...然而,它使一个软件崩溃,并出现与 UTF-8/Unicode 相关的错误。我真的很困惑,因为我不知道为什么这样的文件有问题;最后我记得检查lswith的输出hexdump

$ ls T?S?ER.txt 
T?S?ER.txt
$ ls T?S?ER.txt | hexdump -C
00000000  54 ce 95 53 d0 a2 45 52  2e 74 78 74 0a           |T..S..ER.txt.|
0000000d
Run Code Online (Sandbox Code Playgroud)

...嗯,显然有一些字节之间/而不是一些字母,所以我猜这是一个 Unicode 编码问题。我可以尝试回显字节以查看打印的内容:

$ echo -e "\x54\xCE\x95\x53\xD0\xA2\x45\x52\x2E\x74\x78\x74"
T?S?ER.txt
Run Code Online (Sandbox Code Playgroud)

...但我仍然无法分辨这些是哪些 - 如果有 - Unicode 字符。

那么是否有一个命令行工具,我可以在终端上检查一个字符串,并获取有关它的字符的 Unicode 信息?

linux bash unicode command-line utf-8

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

如何在bash中禁用“显示所有可能性”和--更多--东西?

在我的 shell 中,l+tab完成如下:

wim@wim-zenbook:~$ l
Display all 135 possibilities? (y or n)
Run Code Online (Sandbox Code Playgroud)

有一个提示回答yn哪个很烦人,它会翻页,--More--这也很烦人。我们怎样才能让它在没有唠叨的情况下只展示可能性?

在 Ubuntu 上使用 gnome-terminal。

bash autocomplete

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

在 iTerm2 中使用特定目录打开多个选项卡

我想知道这是否可能。

我想设置一些脚本或命令来打开 5 个选项卡,每个打开的选项卡都将指定自己的目录

都在同一个窗口

tab 1: open ~/folderA1
tab 2: open ~/folderA2
tab 3: open ~/folderA3
tab 4: open ~/folderA4
tab 5: open ~/folderA5
Run Code Online (Sandbox Code Playgroud)

这是在 Mac OS X 中的 iTerm2 上。

我知道我可以执行 CMD+T 之类的操作,然后使用cd ~/folderA1等等打开它们中的每一个,但是如果有我可以设置的命令或脚本,在执行后它们会立即完成所有这些操作,我很想知道如果有办法这样做。

bash iterm2 macos

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

替换 zip 命令或压缩文件的方法

我想使用该zip命令压缩文件,但我的终端显示

-bash: zip: command not found
Run Code Online (Sandbox Code Playgroud)

有没有办法获取zip命令,或者改用另一个命令?

zip bash

11
推荐指数
1
解决办法
4万
查看次数

以交互方式运行 Python 后,OS-X 终端的行为异常

在 os-x 终端中运行 python repl (2.7.10) 并退出后,终端不再回显输入,并且发生了一些其他奇怪的事情。如果我python再次运行and exit(),则终端似乎已恢复。我现在只是关闭选项卡并打开一个新选项卡,所以我还没有进行广泛的测试。

我想这与终端设置有关,但这是最近的事情,我没有改变任何我记得的东西。macports如果与某些控制台库的不匹配依赖项有关,则Python 与 一起安装。2.7.10是前段时间安装的,安装后没有出现这种情况。

指关节开裂并打开terminal

[~]: virtualenv-2.7 venv-test
[~]: source venv-test/bin/activate
[~]: python
>>> ^D>>>       *(press ctrl-d, the 2nd >>> is strange)
[~]:            *(type something like `ls-l`, nothing shows on console)
[~]: -bash: ls-l: command not found`
Run Code Online (Sandbox Code Playgroud)

此外,再次运行 python 并ctrl-d在此输出中得到结果:

>>> ^D           (ctrl-d, then hit enter, doesn't exit)
>>> ^D           (...)
>>> ^D           (...)
>>> exit()       (typing exit() quits the session)
>>> [~]: 
Run Code Online (Sandbox Code Playgroud)

terminal bash python macos

11
推荐指数
2
解决办法
5580
查看次数

当文件在路径上时,为什么bash会说没有这样的文件或目录

所以我卸载了cmake,并用更新的版本重新安装了它,路径是正确的,文件在那里,但是每当我尝试运行cmake时,bash都会回显 -bash: /usr/bin/cmake: No such file or directory

pi@raspberrypi /usr/local/bin $ dir
cmake  cpack  ctest  indiecity

pi@raspberrypi /usr/local/bin $ export | grep PATH
declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games"
Run Code Online (Sandbox Code Playgroud)

linux bash

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

bash:有没有办法通过 CDPATH 使用制表符补全?

看完这篇文章后,我设置了CDPATH=.:~。但是,我没有通过主目录中的目录完成选项卡。我想知道是否有人知道如何做到这一点。

linux bash

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

LANG=C 位于许多 /etc/init.d/* 脚本中。LANG=C 有什么作用,为什么需要设置 LANG=C。

它不清楚它做什么或它包含什么。我尝试搜索 set 和 env 的输出,以查看系统上其他地方的 C 或 LANG 设置。关于它是如何使用或设置的,尚不清楚。我什至不知道我应该开始阅读哪个手册页。

当我尝试解码不同 Linux 机器上的启动脚本时,这里的任何帮助都会很棒。如果有人可以推荐有助于完成此过程的良好资源(书籍、文档),我们将不胜感激。

在 centos6 机器上使用 LANG=C 的脚本示例

$ grep -i LANG=C ./*
./halt:LANG=C __umount_loop '$2 ~ /^\/$|^\/proc|^\/dev/{next}
./netconsole: route=$(LANG=C ip -o route get to $host/32)
./netconsole: arp=$(LANG=C /sbin/arping -c 1 -I $DEV $target 2>/dev/null | awk '/ 回复来自 .*[.*]/ { print gensub(".*回复来自 .* \\[(.*)\\].*","\\1","G") }')
./netconsole: SYSLOGADDR=$(LANG=C 主机 $SYSLOGADDR 2>/dev/null | awk '/has address / { print $NF }')
./network: LANG=C sed -e "$__sed_discard_ignored_files" \
./network: LANG=C sort -k 1,1 …

linux boot bash environment-variables init

10
推荐指数
2
解决办法
2万
查看次数