72得票12回答
Bash 还是 KornShell(ksh)?

我不是*nix的新手,但最近我花了很多时间在命令提示符下。我的问题是使用KornShell(ksh)或Bash Shell有什么优势?其中一个与另一个相比有什么缺点? 我想从用户的角度来理解,而不仅仅是脚本编写。

60得票4回答
在Unix中从完整路径获取文件名

我正在尝试使用Unix命令从/this/is/could/be/any/path/abc.txt中获取"abc.txt"。请注意,/this/is/could/be/any/path是动态的。 有任何想法吗?

60得票3回答
将输入导入脚本

我用ksh编写了一个shell脚本,将CSV文件转换为电子表格XML文件。它接受一个现有的CSV文件(路径在脚本中作为变量),然后创建一个新的输出文件xls。该脚本没有位置参数。CSV文件的文件名目前是硬编码到脚本中的。 我想修改脚本,使其可以从管道中读取输入CSV数据,并且xls输出数据也可...

56得票5回答
在Bash和KornShell(ksh)中获取命令的退出码

我想编写类似以下代码:command="some command" safeRunCommand $command safeRunCommand() { cmnd=$1 $($cmnd) if [ $? != 0 ]; then pri...

51得票11回答
在Unix系统中,计算输出列的总和的最短命令是什么?

我相信在Unix系统上有一种快速简便的方法来计算一列值的总和(可能使用类似于awk或xargs的东西),但是目前我所能想到的只有编写一个逐行解析行的shell脚本。 例如,如何修改下面的命令以计算并显示SEGSZ列的总和(70300)? ipcs -mb | head -6 IPC sta...

51得票5回答
如何在shell脚本中只读取一个字符

我希望有一个类似于C语言中getche()的选项。如何从命令行读取单个字符输入? 我们可以使用read命令来实现吗?

51得票6回答
仅打印文件名,而不是完整路径

我正在使用 ksh 脚本中的 find 命令,想要检索出文件名而不是完整路径。例如,我想返回 text.exe ,而不是//severname/dir1/dir2/text.exe。 我该如何实现呢?需要澄清的是,我知道这些文件在哪个目录下,只是想获取某个日期之前创建的文件,因此路径名并不重要。

49得票8回答
在一个目录中找到所有不是目录本身的文件

我正在寻找一种方法来列出目录中所有文件,但不包括目录本身及其子目录中的文件。所以如果我有:./test.log ./test2.log ./directory ./directory/file2 我想要一个命令返回:./test.log ./test2.log,不要有其他的内容。

48得票8回答
如何为mailx命令设置发件人电子邮件地址?

我正在处理一个在Solaris服务器上运行的KornShell(ksh)脚本,当检测到错误条件时会发送电子邮件。 我使用mailx发送电子邮件。 问题:如何在mailx命令中设置“From”电子邮件地址? 当前代码:echo ${msg_txt} | mailx -s "Script Fa...

47得票3回答
除了 EXIT,是否需要指定其他陷阱?

我看到很多 shell 脚本都有以下代码: trap cmd 0 1 2 3 13 15 # EXIT HUP INT QUIT PIPE TERM 在我能够访问的每个 shell 中,除了 0 信号以外的所有陷阱都是多余的,如果简单指定了信号陷阱,cmd 将会在接收到信号时执行: ...