问题标签 [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.

0 投票
6 回答
2683 浏览

bash - 当今最好的(可移植和可维护的)Shell 脚本语言是什么?

我知道这个问题过去曾引发过一场“宗教”战争,可能没有一个正确答案。但是在过去 3-4 年使用 ksh 和 csh 并经历了从一个移植到另一个或将一个通用逻辑应用于多个版本(读取为遗留代码)的痛苦之后,如果我正在编写一个新脚本,我会去ksh,但出于强迫而不是选择。除了 ksh/csh,还有更好的选择吗?还有一些可以跨 Unix(Solaris/HP/IBM/FreeBSD)和 Linux 移植的东西(如果我没有要求太多,或者它是否对所有 Linux 风格都有意义)

等待建议...

和平 :) Devang Kamdar

0 投票
2 回答
158 浏览

shell - SSH 连接到 Box B 后,如何在 Box A 上捕获您的用户名?

也许不是措辞最好的问题,但希望这是一个直截了当的问题。

该场景是从框 A 上的个人帐户通过 SSH 连接到框 B 上的通用帐户。框 B 上运行的脚本需要捕获个人帐户名称以进行日志记录。有什么方法可以捕获这个,无论是通过 SSH 本身还是通过 shell 捕获的一些信息?我们在 Solaris 上使用 ssh2(反射)和 KornShell(ksh)。

0 投票
2 回答
723 浏览

regex - Ksh 脚本:运行类似 bash 的字符替换:${@/.txt/}

我有一个必须保持不变的 ksh 脚本(它运行的一些程序坚持是 ksh)。我想获取输入参数“test.txt”并删除最后 4 个字符,或者查找并替换“.txt”。

在 bash 我会做

不过,这在 ksh 中不起作用。如何摆脱 ksh 中的 .txt?我试过了

但它没有在这个新创建的 shell 中使用 $@ 变量。

谢谢,

0 投票
5 回答
1642 浏览

bash - 如何对 ksh93 进行编程以使用 bash 自动完成功能?

回复 shell question 的评论中,用户tinkertimksh使用bash自动补全库很容易破解。我最想要的就是使用bashAT&T 的自动完成功能ksh93。如何才能做到这一点?

ksh93一年有几次新版本,所以我正在寻找不涉及修改源代码的解决方案。 ksh93可以动态链接新的 C 模块并且是高度可编程的(我在每次击键时运行一个 ksh 函数),所以修改源代码应该是没有必要的。

注意:我不是在谈论文件名自动完成,这在ksh. 我说的是 bash 所做的所有其他美味的自动完成功能,例如nmh命令的自动完成选项或 Mercurial 命令的自动完成。像这样的东西。

0 投票
4 回答
5970 浏览

shell - 在 ksh ENV 脚本中检测交互式 shell

确定给定 ksh 调用是否正在运行交互式 shell 的首选方法是什么?

对于非交互式 ksh 调用(例如,在执行 shell 脚本时),我在一个ENV文件中有一些我想跳过的命令。

我已经看到建议范围

...甚至不采购,除非使用这种神秘的咒语.kshrc确定外壳是交互式的:

0 投票
5 回答
7216 浏览

bash - 在 ksh 上推送/弹出?

是否有等效于 KSH 的 bash pushd/popd 内置命令?

对于那些不知道 bash 中的 pushd 和 popd 做什么的人,这里是手册页中的描述

谢谢

0 投票
2 回答
1497 浏览

bash - 如何在 bash/zsh/ksh 中复制期间创建目录?

我经常收到以下消息,例如将 dev 文件复制到 master 分支时

我想被问到给定文件夹的创建,如果我对问题回答是,我的初始命令将运行。

当我尝试将文件复制到不存在的目录时,我尝试使用伪代码

问题

  1. 更改警告消息:哪个文件控制“没有这样的文件或目录”-命令?
  2. 在没有文件的情况下刮取初始命令和 mkidr 路径中的路径:如何在初始命令中刮取路径?
  3. 使用您选择的语言(例如 AWK)从末尾刮起:当 / 是字段分隔符时,您将如何删除路径中的最后一个匹配项?我不确定如何使用 AWK 从末尾开始刮字母。
0 投票
2 回答
8152 浏览

unix - 在没有绑定的 Emacs 模式下使用 KSH 完成选项卡

我正在尝试在 emacs 模式下为命令行启用自动完成功能。当我尝试:

并重新登录,我得到“找不到绑定命令”错误。

有没有其他方法可以在 emacs 模式下自动完成选项卡,即选项卡完成第一个区别?如果没有,如何在 ksh 中安装绑定?

谢谢

0 投票
2 回答
3169 浏览

shell - 在 ksh 中使用 typeset 与简单地设置变量有什么区别吗?

以下 2 行是否完全等效?如果不是,有什么区别?我已经看到很多 shell 脚本都使用数字 1,只是想知道与数字 2 相比它能给你带来什么。

  1. typeset TARGET="${XMS_HOME}/common/jxb/config/${RUNGROUP}.${ENV}.properties"
  2. TARGET="${XMS_HOME}/common/jxb/config/${RUNGROUP}.${ENV}.properties"
0 投票
8 回答
1892 浏览

bash - 如何处理 shell 脚本中的 NFS 延迟

我正在编写 shell 脚本,其中经常将一些内容写入文件,然后执行读取该文件的应用程序。我发现通过我们公司,网络延迟差异很大,因此一个简单sleep 2的示例将不够健壮。

我试图编写一个(可配置的)超时循环,如下所示:

这适用于test="[ -e $somefilename ]". 但是,仅测试存在是不够的,我有时需要测试某个字符串是否写入文件。我试过 test="grep -sq \"^sometext$\" $somefilename"了,但这没有用。有人能告诉我为什么吗?

是否有其他不那么冗长的选项来执行这样的测试?