【发布时间】:2013-08-07 08:39:07
【问题描述】:
我正在创建一个 KSH 接口脚本,它将根据用户输入调用其他脚本。其他脚本是加密和解密。这些脚本中的每一个都接收参数。我见过有人在使用“-”+脚本名称的第一个字母之前执行脚本。如何为我的脚本执行此操作?例如,如果我的脚本被称为 menu 并且用户输入:menu -e *UserID Filename.txt* 脚本将运行并且加密脚本将与相关参数一起执行。到目前为止,我的脚本将加密/解密脚本选项作为参数。这是我的脚本:
#!/bin/ksh
#I want this parameter to become an
action=$1
if [ $1 = "" ]
then
print_message "Parameters not satisfied"
exit 1
fi
#check for action commands
if [ $1 = "encrypt" ]
then
dest=$2
fileName=$3
./Escript $dest $fileName
elif [ $1 = "decrypt" ]
then
outputF=$2
encryptedF=$3
./Dscript $outputF $encryptedF
else
print "Parameters not satisfied. Please enter encrypt or decrypt plus-n arguments"
fi
感谢您的帮助!
【问题讨论】:
-
+1 提出了很好的问题,展示了您的一些想法。对我来说看起来还不错。虽然
getargs是处理前缀为-字符的选项的常用方法,但您不能只测试if [ $1 = "-encrypt" ] ; then...等吗?祝你好运。