问题标签 [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 投票
13 回答
11988 浏览

perl - 在 shell / Perl 脚本中保存密码的最佳实践?

我最近不得不重新学习我的 Perl 和 shell 脚本技能来帮助一些同事。有问题的同事的任务是提供来自具有大型 Oracle 数据库后端的内部应用程序的一些报告,但他们根本不具备执行此操作的技能。虽然有些人可能会质疑我是否也有这些技能(咧嘴笑),但显然有足够多的人认为我这样做意味着我无法摆脱它。

所以对于我的问题 - 为了从数据库中提取报告,我的脚本显然必须连接并运行查询。到目前为止,我还没有想出一个好的解决方案来存储数据库的用户名和密码,因此它目前在脚本中以纯文本形式存储。

有没有其他人已经写过的很好的解决方案,也许是一个 CPAN 模块?或者还有其他更好的方法 - 比如将用户/密码组合保存在一个完全独立的文件中,该文件隐藏在文件系统的其他地方?或者我应该对它们进行简单的加密,以避免使用系统范围的 grep 将它们从我的脚本中拉出来?

编辑:Oracle 数据库位于 HP-UX 服务器上。
应用程序服务器(运行 shell 脚本)是 Solaris。
将脚本设置为仅由我拥有是不行的,它们必须由多个支持人员可以访问的服务帐户拥有。
这些脚本旨在作为 cron 作业运行。
我很想使用公钥身份验证,但我不知道使用 Oracle 进行验证的方法——如果有这样的方法——请赐教!

0 投票
2 回答
29055 浏览

unix - 如何使用 vi 编辑器在 KornShell 命令行自动完成

AIX UNIX 版本 5.3上的 KornShell (ksh) 中,编辑器模式设置为 vi,使用:

在 shell 命令行中自动完成文件或目录名称的按键是什么?

0 投票
4 回答
824 浏览

linux - REDUX:如何克服 Linux 上的 ksh 与 AIX/Solaris/HPUX 上安装的 ksh 之间的不兼容问题?

在我们将数百个 ksh 脚本从 AIX、Solaris 和 HPUX 移植到 Linux 的过程中,我发现了另一个问题。请参阅此处了解上一个问题。

这段代码:

(当在包含多个名称以 k 开头的文件的目录中运行时)会产生“哦,是的!” 当使用 AT&T ksh 变体(ksh88 和 ksh93)调用时。另一方面,它会产生错误消息,然后是“没办法!” 在其他 ksh 变体(pdksh、MKS ksh 和 bash)上。

同样,我的问题是:

  • 是否有环境变量会导致 pdksh 表现得像 ksh93?做不到这一点:
  • pdksh 上是否有获得所需行为的选项?
0 投票
2 回答
32336 浏览

shell - 用 mailx 和 uuencode 发送附件的 KornShell (ksh) 代码?

我需要用mailx附加一个文件,但目前我没有成功。

这是我的代码:

任何反馈将不胜感激。


更新 我添加了附件 var 以避免每次都使用路径。

0 投票
6 回答
10268 浏览

shell - KornShell (ksh) 环绕

好的,我相信这很简单,但它让我发疯。我最近去开发一个程序,我不得不及时退后一点并使用 Redhat 9。当我从运行 KornShell (ksh) 的标准 xterm 在命令行上键入时,我到达了line 屏幕向右滑动(切断我命令的左侧),而不是将文本换行到新行。这对我来说很困难,因为我不能直接从命令行轻松地复制和粘贴上一个命令。我必须查看历史记录并从那里粘贴命令。如果您想知道,我会执行很多命令行 awk 脚本,这些脚本会导致行变得很长。

有没有办法强制命令行换行而不是将可见性转移到我正在输入的命令的右侧?

我已经倾注了手册页选项,但没有运气。

我在跑:

  • XFree86 4.2.99.903(174)
  • KSH 5.2.14。

谢谢。

0 投票
2 回答
10516 浏览

arrays - KSH 脚本:当值已转义逗号时,如何拆分“,”?

我尝试编写 KSH 脚本来处理由名称-值对组成的文件,每行有几个。

格式为:

假设我写:

这将给我第二个名称-值对,既好又简单。现在,假设任务已扩展,因此值可以包含逗号。他们应该被逃脱,像这样:

显然,我的代码不再有效,因为“读取”会删除所有引用,并且数组的第二个元素将只是“NAME2 VALUE2_1”。

我被没有“read -A array”的旧 ksh 卡住了。我用“read -r”和“eval set -A ....”尝试了各种技巧,但无济于事。我不能使用“read nvl1 nvl2 nvl3”在读取中进行转义和拆分,因为我事先不知道每行中有多少个名称-值对。

有人对我有用吗?

PS 我知道我在 Perl、Python 甚至 awk 中都在短时间内完成了这项工作。但是,我必须在 ksh 中执行此操作(...或死去尝试;)

0 投票
5 回答
29366 浏览

bash - 如何从管道分隔的文件中打印字段?

我有一个由管道字符分隔的字段的文件,我只想打印第二个字段。此尝试失败:

有没有办法做到这一点?

0 投票
4 回答
13751 浏览

shell - 如何在 ksh shell 脚本中计算前一个工作日?

在 shell ksh 脚本中计算前一个工作日的最优雅方法是什么?

到目前为止我得到的是:

如何使 ${DAY_DIFF} 变量作为值而不是字符串传输?

0 投票
5 回答
1925 浏览

perl - 在 Ksh 和 Perl 中并行执行任务的最佳方式是什么?

我有一个大型 C++ 项目,我需要在没有并行 make 的平台上构建它(比如 Linux 上的 make -j)。服务器有 6 个 CPU,我想手动进行并行构建。

我可以为大约 300 个目标文件生成这样的任务列表。我使用 Makefile 进行依赖检查和增量构建:

make -f Makefile obj1.o

make -f Makefile obj2.o

make -f Makefile obj3.o ...

在使用 Ksh 和 Perl 一次运行不超过 6 个任务的情况下,我将如何并行执行这些任务?(Java 或 Python 不可用 :-( )

0 投票
11 回答
89011 浏览

unix - 在 Unix 上计算一列输出总和的最短命令?

我确信有一种快速简便的方法来计算 Unix 系统上的一列值的总和(使用类似awkxargs可能的东西),但是编写一个 shell 脚本来逐行解析行是唯一的事情此刻心里。

例如,修改以下命令以计算和显示 SEGSZ 列 (70300) 的总数的最简单方法是什么?