引用tmux
手册页:
对于在 tmux 中运行的所有程序,TERM 环境变量必须设置为“screen”。新窗口将自动将“TERM=screen”添加到它们的环境中,但必须注意不要在 shell 启动文件中重置它。
这是因为tmux
会话可以连接到任何终端(例如远程),screen
是最低公分母?如果我知道我的终端,我是否可以在没有意外结果的情况下强制执行它,或者某些不受支持的功能会中断(如滚动)?
如果用户在动态链接的应用程序上工作,并且系统正在升级,是否有任何保护机制可以防止应用程序损坏?
还是要看申请?
我想记录我的命令的执行时间。像这样的东西:
#!/usr/bin/env bash
echo "$@" >> /tmp/times
exec 3>&2
(/usr/bin/time -f "%e" "$@" 2>&3) 2>>/tmp/times
Run Code Online (Sandbox Code Playgroud)
问题是时间会产生污染标准错误的子进程。这可以在没有这种副作用的情况下完成吗?
为什么以下不输出“hello”行?
watch bash -c 'echo hello'
Run Code Online (Sandbox Code Playgroud)
作为这个?
watch 'echo hello'
Run Code Online (Sandbox Code Playgroud)
我希望直接echo
写入输出,并由终端bash
读取并格式化。watch
不会bash -c
用吗stdout
?
假设服务不会让事物处于“危险”或不一致的状态(尽管会观察到无法执行任务),它是否应该关闭文件、连接和任何其他工作?
此功能可用于帮助用户输入对某些文本的修改。
function change { bash -c "read -ei \"$1\" temp && echo \$temp" }
Run Code Online (Sandbox Code Playgroud)
什么是惯用的 zsh 方式来做类似的事情?
如果不是所有的包构建都是可重现的,什么保证用户不会运行相同版本和架构的两个不同的二进制文件?