将bash脚本转换为与HP-UX操作系统兼容的版本 {lineno1=`grep'CustCare\u CR*'/Abhi\u data/Copy\u test\u demo/T2.txt` echo$lineno1 var1=`sed-e's#.*Backuped_CustCare/\(\)\1#'
假设将bash脚本转换为与HP-UX操作系统兼容的版本 {lineno1=`grep'CustCare\u CR*'/Abhi\u data/Copy\u test\u demo/T2.txt` echo$lineno1 var1=`sed-e's#.*Backuped_CustCare/\(\)\1#',bash,shell,hp-ux,Bash,Shell,Hp Ux,假设我建议使用printf实用程序,同时使用$()而不是`: var1=`echo "$lineno1" | sed -e 's#.*Backuped_CustCare/\(\)#\1#'` 参考资料: 当我在solaris上运行此代码时,它会工作,但当我在shell上运行时,shell表示hp unixhpunix不是shell。此外,请指定您在solaris上使用的shell。通常,在编写应在不同平台上运行的shell脚本时,您需要首先确定要使用的shell以及要使用的shells
我建议使用printf实用程序,同时使用$()
而不是`
:
var1=`echo "$lineno1" | sed -e 's#.*Backuped_CustCare/\(\)#\1#'`
参考资料:
当我在solaris上运行此代码时,它会工作,但当我在shell上运行时,shell表示hp unixhpunix
不是shell。此外,请指定您在solaris上使用的shell。通常,在编写应在不同平台上运行的shell脚本时,您需要首先确定要使用的shell以及要使用的shellshell的版本,因为不同版本的编程功能通常不同。通常的建议(如果可移植性很重要)是使用POSIX shell,但对于旧版本的Solaris和/或HP-UX,甚至不能认为该shell的存在是理所当然的。
var1=`echo "$lineno1" | sed -e 's#.*Backuped_CustCare/\(\)#\1#'`
var1=$(printf "%s" "$lineno1" | sed -e 's#.*Backuped_CustCare/\(\)#\1#')