2861得票17回答
如何仅在目录不存在时创建mkdir?

我正在编写一个可在AIX上的KornShell(ksh)下运行的shell脚本。我想使用mkdir命令来创建目录。但是,如果该目录已经存在,则我不想执行任何操作。因此,我要么测试该目录是否不存在,要么抑制mkdir尝试创建现有目录时引发的“文件已存在”错误。 我应该如何最好地做到这一点?

337得票25回答
如何检测脚本是否正在被引用

我有一个脚本,如果它被源引用,我不想让它调用exit。 我考虑检查$0 == bash,但是如果脚本从另一个脚本中被源引用,或者用户从不同的shell(如ksh)中源引用它,则存在问题。 有没有一种可靠的方法来检测脚本是否正在被源引用?

325得票7回答
Shell编程中,$(command)和‘command’有什么区别?

在sh/ksh/bash中将命令的输出存储为变量,可以使用以下任一方法:var=$(command) 或者var=`command` 这两种方法有什么区别(如果有的话)?

318得票8回答
在UNIX shell脚本中从列表中选择唯一或不同的值

我有一个ksh脚本,返回一长串以换行符分隔的数值,我想只看到唯一/不同的数值。这可能吗? 例如,假设我的输出是目录中文件后缀名的列表:tar gz java gz java tar class class 我想要看到像这样的列表: tar gz java class

243得票8回答
如何从命令输出中获取第二列?

我命令的输出结果大致如下:1540 "A B" 6 "C" 119 "D" 第一列始终是一个数字,后跟一个空格和一个双引号字符串。 我的目的是仅获取第二列,如下所示:"A B" "C" "D" 我本意是使用 <some_command> | awk '{print $2}...

160得票2回答
在Shell中,当我们将一个命令放在美元符号和括号内$(command)时,它的含义是执行该命令并返回其输出作为命令行的一部分。

我只想理解shell中的以下代码行,它用于获取当前工作目录。 我知道$(variable)会返回变量名内的值,但是$(command)应该返回什么? 它会在执行命令后返回值吗?如果是这样,我们可以使用`来执行该命令。CWD="$(cd "$(dirname $0)"; pwd)" 在不同版本的...

102得票5回答
如何在Linux命令行中查找可能位于任何位置的文件/目录?

理想情况下,我希望能够使用类似于find [file or directory name] 报告具有匹配文件名/目录的路径。不幸的是,这似乎只检查当前目录,而非整个文件夹。 我也尝试了 locate 和 which,但都找不到该文件,尽管我知道它在电脑上某个地方。

88得票2回答
Shell脚本:如何将字符串写入文件并在控制台上输出?

如何将字符串写入文件并输出到控制台上的stdout? 如果我这样做:echo "hello" > logfile.txt 我只能在logfile.txt里看到hello,但是我该如何在Linux的控制台上输出hello呢?

76得票8回答
创建文件并设置权限的单行命令

我正在使用以下两个命令创建一个0B文件并将其扩展名设置为644touch filename.ext chmod 777 filename.txt 我想问的是在Unix(Korn Shell)中是否有任何单个命令可以一次性完成两件事情,即创建一个具有所需权限的0B文件?

74得票4回答
如何根据进程名称获取进程ID

嗨,我在各个论坛和这里进行了搜索,我找到了一些关于Linux和Mac的答案,但是没有找到关于Unix和特别是Korn Shell的解决方案。 如何从进程ID(PID)获取进程名称(命令名称)。 我在Stack Overflow上找到了以下参考资料 这个 还有这个 我尝试了下面的命令 p...