Linux 无法在bash脚本中使用参数nb10
我可以传递到bash脚本中的参数数量有限制吗?似乎nb 9工作良好,而nb10则被忽略 我尝试使用audio={10} 因为我在某个地方读过,但这似乎也不起作用 调用(来自本地php文件): bash脚本Linux 无法在bash脚本中使用参数nb10,linux,bash,variables,parameters,limit,Linux,Bash,Variables,Parameters,Limit,我可以传递到bash脚本中的参数数量有限制吗?似乎nb 9工作良好,而nb10则被忽略 我尝试使用audio={10} 因为我在某个地方读过,但这似乎也不起作用 调用(来自本地php文件): bash脚本 #!/bin/bash cd /var/sync #width=`/bin/cat size|/bin/sed 's/\([0-9]*\)\x\([0-9]*\)/\1/'` #height=`/bin/cat size|/bin/sed 's/\([0-9]*\)\x\([0-9]*\)/\
#!/bin/bash
cd /var/sync
#width=`/bin/cat size|/bin/sed 's/\([0-9]*\)\x\([0-9]*\)/\1/'`
#height=`/bin/cat size|/bin/sed 's/\([0-9]*\)\x\([0-9]*\)/\2/'`
width=1920
height=1080
gwidth=$6
gheight=$7
nwidth=$2
nheight=$3
oposx=$4
oposy=$5
nwidth=$gwidth
fsfile="/usr/share/nginx/www/cloudsign_local/video/keepFullscreen"
#echo $*>/home/brftv/testkommando
nheight=`eval expr $nwidth \\\* $height / $width`
if [ $nheight -gt $gheight ]
then
nheight=$gheight
nwidth=`eval expr $nheight \\\* $width / $height`
fi
posy=`eval expr $oposy + $gheight / 2 - $nheight / 2`
posx=`eval expr $oposx + $gwidth / 2 - $nwidth / 2`
fullscreen=$8
vcodec=$9
audio=${10}
echo audio>/home/brftv/tiovar
#prints an empty file!!! a bool is passed, should always be 0 or 1...
case $audio in
1)
defflags="-display :0 -x $nwidth -y $nheight -vo vdpau -ao alsa:device=hw=1.7 -nograbpointer -geometry $posx:$posy -nolirc -nortc -noconsolecontrols -nojoystick -slave -noborder -ontop"
;;
0)
defflags="-display :0 -x $nwidth -y $nheight -vo vdpau -nosound -nograbpointer -geometry $posx:$posy -nolirc -nortc -noconsolecontrols -nojoystick -slave -noborder -ontop"
;;
esac
#ARK active audio -ao alsa:device=hw=1.7
#defflags="-display :0 -x $nwidth -y $nheight -vo vdpau -geometry $posx:$posy -really-quiet -nolirc -nojoystick -slave -noborder -ontop -ss 130"
vcodec=`echo $vcodec | tr '[A-Z]' '[a-z]'`
case $vcodec in
ffh264|ffwmv3|ffmpeg12|ffvc1)
vcodec=${vcodec}vdpau
mplflags="$defflags -vc $vcodec"
;;
h264|H264|vc1|VC1|wmv3|WMV3|mpeg12|MPEG12)
vcodec=ff${vcodec}vdpau
mplflags="$defflags -vc $vcodec"
;;
*)
mplflags="$defflags"
;;
esac
case $fullscreen in
1)
DISPLAY=:0 /usr/bin/xdotool key Ctrl+F2
/usr/bin/mplayer $mplflags -fs $1
echo "/usr/bin/mplayer $mplflags -fs $1">/tmp/mplayer
if [ -f "$fsfile" ]; then
echo "fullscreen file not found"
else
#DEBUG /usr/bin/mplayer $mplflags -fs /home/brftv/videos/cosmopolis_trlr_01_1080p_dl.mov
DISPLAY=:0 /usr/bin/xdotool key Ctrl+F1
fi
;;
0)
/usr/bin/mplayer $mplflags $1
echo "mplayer $mplflags $1"
;;
esac
注意:在我添加第10个参数之前工作得很好…
audio=${10}
是正确的。正如bash
手册所述:
当展开由多个单个数字组成的位置参数时,必须将其括在大括号中(请参见下面的展开)
错误是在该行之后的一行:
echo audio>/home/brftv/tiovar
应该是:
echo "$audio" > /home/brftv/tiovar
您忘记了$
我不知道你为什么会得到一个空文件,你应该得到一个有“音频”字样的文件
顺便说一句,在将URL参数放入命令行时,应该使用escapeshellarg,否则您将面临一些严重的注入问题。
audio=${10}
是正确的。正如bash
手册所述:
当展开由多个单个数字组成的位置参数时,必须将其括在大括号中(请参见下面的展开)
错误是在该行之后的一行:
echo audio>/home/brftv/tiovar
应该是:
echo "$audio" > /home/brftv/tiovar
您忘记了$
我不知道你为什么会得到一个空文件,你应该得到一个有“音频”字样的文件
顺便说一句,在将URL参数放入命令行时,应该使用escapeshellarg,否则您将面临一些严重的注入问题。
audio=${10}
是正确的。正如bash
手册所述:
当展开由多个单个数字组成的位置参数时,必须将其括在大括号中(请参见下面的展开)
错误是在该行之后的一行:
echo audio>/home/brftv/tiovar
应该是:
echo "$audio" > /home/brftv/tiovar
您忘记了$
我不知道你为什么会得到一个空文件,你应该得到一个有“音频”字样的文件
顺便说一句,在将URL参数放入命令行时,应该使用escapeshellarg,否则您将面临一些严重的注入问题。
audio=${10}
是正确的。正如bash
手册所述:
当展开由多个单个数字组成的位置参数时,必须将其括在大括号中(请参见下面的展开)
错误是在该行之后的一行:
echo audio>/home/brftv/tiovar
应该是:
echo "$audio" > /home/brftv/tiovar
您忘记了$
我不知道你为什么会得到一个空文件,你应该得到一个有“音频”字样的文件
顺便说一句,在将URL参数放入命令行时,您应该使用escapeshellarg,否则您将面临一些严重的注入问题。
eval
对于数学来说是不必要的。使用nheight=$(expr$nwidth\*$height/$width)
;或者更好的是,nheight=$($nwidth*$height/$width))
eval
对于数学来说是不必要的。使用nheight=$(expr$nwidth\*$height/$width)
;或者更好的是,nheight=$($nwidth*$height/$width))
eval
对于数学来说是不必要的。使用nheight=$(expr$nwidth\*$height/$width)
;或者更好的是,nheight=$($nwidth*$height/$width))
eval
对于数学来说是不必要的。使用nheight=$(expr$nwidth\*$height/$width)
;或者更好,nheight=$($nwidth*$height/$width))
。嗯,那一定是出了什么问题。因为如果我将全屏设置为TRUE,并对音频使用该标志(bool),则一切正常。音频值被打印到文件tiovar中,脚本按其应该的方式运行。OK修复了它。显然,最后一个参数和该参数之间必须有一个空格>否,在>
之前不需要空格。一定是别的原因。嗯,那一定是别的原因。因为如果我将全屏设置为TRUE,并对音频使用该标志(bool),则一切正常。音频值被打印到文件tiovar中,脚本按其应该的方式运行。OK修复了它。显然,最后一个参数和该参数之间必须有一个空格>否,在>
之前不需要空格。一定是别的原因。嗯,那一定是别的原因。因为如果我将全屏设置为TRUE,并对音频使用该标志(bool),则一切正常。音频值被打印到文件tiovar中,脚本按其应该的方式运行。OK修复了它。显然,最后一个参数和该参数之间必须有一个空格>否,在>
之前不需要空格。一定是别的原因。嗯,那一定是别的原因。因为如果我将全屏设置为TRUE,并对音频使用该标志(bool),则一切正常。音频值被打印到文件tiovar中,脚本按其应该的方式运行。OK修复了它。显然,最后一个参数和该参数之间必须有一个空格>否,在>
之前不需要空格。一定是别的原因。