Questions tagged «ksh»

15
仅当目录不存在时才如何mkdir?
我正在编写一个Shell脚本以在AIX上的KornShell(ksh)下运行。我想使用mkdir命令创建目录。但是该目录可能已经存在,在这种情况下,我不想执行任何操作。因此,我想测试一下目录是否存在,或者抑制mkdir尝试创建现有目录时抛出的“文件存在”错误。 关于如何最好地做到这一点的任何想法?
1986 shell  scripting  ksh  aix  mkdir 



17
如何检测脚本是否源
我有一个脚本,exit如果它是源代码,我不希望它调用。 我想检查一下是否可以,$0 == bash但是如果脚本是从另一个脚本中获取的,或者用户是从其他shell那里获取的,这就会出现问题ksh。 有没有可靠的方法来检测脚本是否源?
216 bash  ksh 

8
如何从命令输出中获取第二列?
我的命令输出如下: 1540 "A B" 6 "C" 119 "D" 第一列始终是数字,后跟空格,然后是双引号字符串。 我的目的是仅获取第二列,例如: "A B" "C" "D" 我打算用它<some_command> | awk '{print $2}'来完成此任务。但是问题是,第二列中的某些值包含空格,这恰好是分隔awk字段的默认定界符。因此,输出混乱了: "A "C" "D" 如何干净地获得第二列的值(带双引号)?
152 shell  awk  ksh 

2
当我们在美元符号和括号内放入命令时,它在shell中是什么意思:$(command)
我只想了解shell中的以下代码行。它用于获取当前的工作目录。我知道$(variable)name返回变量名中的值,但是$(command)应该返回什么呢?执行命令后是否返回值?在这种情况下,我们可以`用来执行命令。 CWD="$(cd "$(dirname $0)"; pwd)" 在不同版本的Shell中,也可以从以下代码行获得相同的输出 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 我无法理解的含义$(cd..和$(dirname。 有人可以帮我弄清楚如何执行此命令吗?
110 bash  shell  terminal  sh  ksh 

6
如何一致地逐行合并两个文件
我有两个文件(file1.txt和file2.txt),这些文件仅是示例。 如何合并两个文件,以创建文件-merge_files.txt作为示例3 我现在写的是ksh脚本,因此可以用ksh,awk,sed,perl一个内衬... etc进行合并 背景-为什么需要合并文件:我的目标是将OLD文件(存在于第一个字段中)重命名为NEW文件(存在于第二个字段中), 例子1 more file1.txt /etc/port1-192.9.200.1-255.555.255.0 /etc/port2-192.9.200.1-255.555.255.0 /etc/port3-192.9.200.1-255.555.255.0 /etc/port4-192.9.200.1-255.555.255.0 /etc/port5-192.9.200.1-255.555.255.0 . . . . 例子2 more file2.txt /etc/port1-192.90.2.1-255.555.0.0 /etc/port2-192.90.2.1-255.555.0.0 /etc/port3-192.90.2.1-255.555.0.0 /etc/port4-192.90.2.1-255.555.0.0 /etc/port5-192.90.2.1-255.555.0.0 . . . . 例子3 more merge_files.txt /etc/port1-192.9.200.1-255.555.255.0 /etc/port1-192.90.2.1-255.555.0.0 /etc/port2-192.9.200.1-255.555.255.0 /etc/port2-192.90.2.1-255.555.0.0 /etc/port3-192.9.200.1-255.555.255.0 /etc/port3-192.90.2.1-255.555.0.0 /etc/port4-192.9.200.1-255.555.255.0 /etc/port4-192.90.2.1-255.555.0.0 /etc/port5-192.9.200.1-255.555.255.0 /etc/port5-192.90.2.1-255.555.0.0 . . . . . example4(merge_files.txt结构) first field …
71 linux  perl  sed  awk  ksh 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.