以下面的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' 完成后运行。
我刚刚意识到我的系统上有一个文件;它通常列出:
$ 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 信息?
在我的 shell 中,l+tab完成如下:
wim@wim-zenbook:~$ l
Display all 135 possibilities? (y or n)
Run Code Online (Sandbox Code Playgroud)
有一个提示回答y或n哪个很烦人,它会翻页,--More--这也很烦人。我们怎样才能让它在没有唠叨的情况下只展示可能性?
在 Ubuntu 上使用 gnome-terminal。
我想知道这是否可能。
我想设置一些脚本或命令来打开 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等等打开它们中的每一个,但是如果有我可以设置的命令或脚本,在执行后它们会立即完成所有这些操作,我很想知道如果有办法这样做。
我想使用该zip命令压缩文件,但我的终端显示
-bash: zip: command not found
Run Code Online (Sandbox Code Playgroud)
有没有办法获取zip命令,或者改用另一个命令?
在 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) 所以我卸载了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) 看完这篇文章后,我设置了CDPATH=.:~。但是,我没有通过主目录中的目录完成选项卡。我想知道是否有人知道如何做到这一点。
它不清楚它做什么或它包含什么。我尝试搜索 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 …