有人可以告诉我以下内容
tmp="${dirname#?}
正在下面的脚本中执行:
#!/bin/sh
appname=`basename $0 | sed s,\.sh$,,`
dirname=`dirname $0`
tmp="${dirname#?}"
if [ "${dirname%$tmp}" != "/" ]; then
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$dirname/$appname "$@"
似乎删除了前导'/',但我找不到#的任何文档?操作
答案 0 :(得分:7)
${var#?}
扩展为$var
的值,删除第一个字符。
通常,${var#substring}
从变量$var
的开头删除最短的子字符串。 ?
是一个特殊字符,表示任何字符。
此功能记录在this page of the bash manual上(查找${parameter#word}
)。