问题标签 [ksh]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
shell - KornShell - 创建一个固定宽度的文本文件
我需要在 KornShell (ksh) 中创建一个简单的固定宽度文本文件。我目前使用 printf 填充字符串的尝试效果不佳。在 ksh 中创建固定宽度字符串的最短、最简洁的方法是什么?
unix - vi 编辑器查询
我经常使用 vi 来编辑文件。
通常我需要文件以行号出现在屏幕上。
为此,我
set nu
在编辑模式下进行。多么拖沓!我可以自动化吗?有什么方法可以让 vi 直接打开行号立即可见的文件?
如果是这样,是否有任何其他技巧可以让我的 vi 体验更高效?
仅供参考,我没有 Vim。
ksh - 在 ksh93 中使用递归时的奇怪行为
在递归浏览目录时,我在 ksh93 中遇到了一些问题。
创建一些文件和目录。
现在使用 ksh93 脚本进行检查。
将在 ksh93 中创建此输出
在使用 pdksh/bash 时会创建这个
有人知道解决方法吗?或者是否存在使 ksh93 行为正常的开关?
shell - $$ 在 KornShell
KornShell中的含义是什么$$
?我猜它与进程ID相关,但我想知道它的确切含义。
unix - 在Unix中更改为父目录
一般来说,我们使用
cd ..
用于转到父目录
cd ../../
去父母的父目录。和
cd ../../../../../
对于第 5 个父目录。
有什么简化的方法吗?
我使用的shell是ksh。
ksh - 如何刷新期望脚本中的输入缓冲区?
我正在编写一个 Expect 脚本,但无法处理 shell 提示符(在 Linux 上)。我的 Expect 脚本生成rlogin
并且远程系统正在使用ksh
. 远程系统上的提示包含当前目录,后跟" > "
(空格大于空格)。脚本片段可能是:
这适用于简单的命令,但是当我发送的命令超过终端的宽度(或者更准确地说,ksh
认为是终端的宽度)时,事情就开始出错了。在这种情况下,ksh
交互式命令行会进行一些奇怪的水平滚动,这似乎会重写提示并在输出中添加一个额外的“ > ”。当执行命令后输出中出现多个提示时,这自然会导致 Expect 脚本混淆和不同步(我的脚本包含多个send
/expect
对)。
我已经尝试PS1
在远程系统上更改为更独特的内容,例如“prompt>”,但出现了类似的问题,这表明这不是解决此问题的正确方法。
我认为可能有帮助的是脚本能够告诉 Expect “我知道此时我已与远程系统正确同步,所以现在刷新输入缓冲区。” 该expect
语句具有即使模式匹配也不会-notransfer
丢弃输入缓冲区的标志,所以我认为我需要相反的情况。
是否有任何其他有用的技术可用于使远程 shell 的行为更具可预测性?我了解 Expect 进行了大量工作以确保生成的会话似乎与远程系统交互,但我宁愿ksh
关闭一些更烦人的交互功能(例如 的水平滚动) .
shell - KornShell - 使用可能未设置的变量进行测试
我在 KornShell (ksh) 中有以下代码:
在某些情况下,文件名没有扩展名,这会导致FILE_EXT
变量为空,从而导致以下错误:
./script[37]: test: 0403-004 Specify a parameter with this command.
我应该如何调用此函数以免出现此错误?
shell - test -h 和 test -L 的区别
ksh shelltest -L filename
和in有什么区别。test -h filename
从手册页中,两者都用于标识符号链接,但我想知道确切的区别。
这是手册页中的描述。
file - 如何在 Unix 中管理到不同目的地的报告/文件分发?
报告工具将在文件系统(Unix 目录)中生成大量报告/文件。有一个目标列表(电子邮件地址和共享文件夹),其中需要在每个目标分发一组不同的报告/文件(可能有重叠)。
想知道是否有一种方法可以使用 shell 脚本有效地管理此报告的传递,以便将来维护报告和目标列表不会变得一团糟。
这是一个非常开放的问题,但限制是它应该在 Unix FS 中管理报告的范围内工作。
shell - 了解 ksh 脚本的一部分
有人可以帮助我理解以下代码,它决定了从数据库中挑选数据的开始日期和结束日期。
谢谢