shopt -s expand_aliases

shopt -s expand_aliases

这一条命令让shell脚本中的alias可以使用。但是经测试,在#!/bin/sh下,该命令可有可无,不影响alias的使用,在!/bin/bash下,才有影响。

详细分析以下代码: #!/bin/bash #file /data/ma/actual/gma2/bin/gma2_64 | grep -q ELF || exec &>/data/ma/app.txt #no output to xterm in release version TITLE="MA-Autostart" #. /etc/rc.d/rc.functions . /usr/local/bin/gma2dialogs . /etc/profile.d/ma_specific.sh . /etc/profile.d/cancntl.sh KSOFTIRQ_PRIOR=60 CTRL_C_DISABLE='/bin/stty intr undef' CTRL_C_ENABLE='/bin/stty intr ^C' shopt -s expand_aliases GMA2RESTART_FILE=/tmp/gma2restart function glwatchdog { sleep 3 LOOP=15 #15 sec wait XID_RESET_COUNTER=0 while [ $LOOP -ne 0 ] do # if [ -n "`dmesg | grep 'NVRM: GPU at'`" ] if [ "`dmesg | grep 'Xid .*: ' | wc -l`" -gt $XID_RESET_COUNTER ] then touch $GMA2RESTART_FILE XID_RESET_COUNTER=`dmesg | grep 'Xid .*: ' | wc -l` killproc -9 gma2_64 date >> /var/log/nv_err dmesg | grep 'Xid .*: ' >> /var/log/nv_err #exit 0; else let LOOP-- sleep 1 fi done } function x_mice { #Fix for bug with external display on gma2-light local SWITCH=$1 #disable | enable DEV_MOUSE_LIST=$(ls -l /dev/input/by-path/*-event-mouse 2>/dev/null | grep -Eo event?[0-9]?[0-9]) XINPUT_DEVICE_IDS=$(DISPLAY=:0.0 xinput list | grep -Eo "id=?[0-9]?[0-9]" | sed 's/id=//g') #echo $XINPUT_DEVICE_IDS for i in $XINPUT_DEVICE_IDS do #echo -n "id=$i " EVENT=$(DISPLAY=:0.0 xinput list-props $i | grep "262" | grep -Eo event?[0-9]?[0-9]) #echo "$EVENT" if [ -n "$EVENT" ] then IS_MOUSE=$(echo $DEV_MOUSE_LIST | grep $EVENT) #echo "$IS_MOUSE" if [ -n "$IS_MOUSE" ] then #echo "xinput $SWITCH $i" DISPLAY=:0.0 xinput $SWITCH $i fi fi done # Set mouse in centre of screen 0 DISPLAY=:0.0 xdotool mousemove --polar 0 0 } function execute { APP=$1 shift if [ -z $MA_INSTALL ] && [ -z $MA_UTILITY ] && [ -z $MA_DEVEL ] then local LICENCE=$(service licence desktyp) if [ -z "$LICENCE" ] then msgbox "No valid dongle found!\nPlease contact your Distributor\n" echo "NO LICENCE" return 1 fi if [ "$DESKTYP" != "$LICENCE" ] then echo "wrong licence $DESKTYP $LICENCE" msgbox "Invalid Licence $LICENCE instead of $DESKTYP" return 1 fi service licence start_lic $CTRL_C_DISABLE fi #echo "Configuring ksoftirqd" for i in $(ps x | awk '{where = match($5, ".*ksoftirqd.*"); if (where) print $1;}') do chrt -pf $KSOFTIRQ_PRIOR $i >/dev/null & done setbacklighton [ -e /etc/nowatchdog ] || glwatchdog & while true do # modprobe schedmon x_mice disable pushd $(dirname $APP) 2>/dev/null $APP $* #| /usr/bin/tee -a /data/ma/actual/smtlog.txt 2>&1 RET=$? sync popd x_mice enable service x11 enum # (lsmod | grep schedmon > /dev/null) && rmmod schedmon /sbin/hwclock --systohc echo "*** $APP returned with exitcode $RET" if [ -f "$GMA2RESTART_FILE" ] then rm -f "$GMA2RESTART_FILE" RET="$RA_REBOOT_WARM" #war RA_RESTART fi [ "$RET" != "$RA_REBOOT_WARM" ] && break #war RA_RESTART echo "Restarting" /etc/init.d/rcNetwork done setbacklightoff if [ -z $MA_INSTALL ] && [ -z $MA_DEVEL ] then service licence stop $CTRL_C_ENABLE fi /usr/bin/xwarppointer screen 0 2>/dev/null 1>&2 /usr/bin/xwarppointer abspos 300 300 2>/dev/null 1>&2 return $RET } if [ "$MA_DEVEL" ] then echo "autostart disabled by development-mode" exit 0 fi if [ "$MA_NOAUTO" ] then echo "autostart disabled by noauto" exit 0 fi RUN_MODE=$DESKTYP [ $MA_INSTALL ] && RUN_MODE=MA_INSTALL [ $MA_UTILITY ] && RUN_MODE=MA_UTILITY [ $MA_FULLINSTALL ] && RUN_MODE=MA_FULLINSTALL [ $MA_CLEANINSTALL ] && RUN_MODE=MA_CLEANINSTALL [ $MA_LUATEST ] && RUN_MODE=MA_LUATEST # Force Clean-Install for NPUs instead of normal install to avoid full disk [ "$RUN_MODE" == "MA_INSTALL" ] && [ "$DESKTYP" == "NPU" ] && RUN_MODE=MA_CLEANINSTALL case "$RUN_MODE" in GMA2 | GMA2-LIGHT | GMA2-ULTRA | RPU) # grub-set-default --root-directory=/boot 0 execute /data/ma/actual/gma2/bin/gma2_64 $* ;; NPU) # grub-set-default --root-directory=/boot 0 execute /data/ma/actual/gma2/bin/npu_64 $* ;; # MA_CLEANINSTALL) # execute /usr/local/bin/gma2install -c # ;; # MA_FULLINSTALL) # sleep 3 # execute /usr/local/bin/gma2install -p # ;; # MA_INSTALL) # sleep 3 # execute /usr/local/bin/gma2install # ;; MA_UTILITY) execute /usr/local/bin/gma2utility ;; MA_LUATEST) mkdir /data/ma/actual/gma2/temp -p rm /data/ma/actual/gma2/temp/V?.?_CRASH*.TXT (execute /data/ma/actual/gma2/bin/gma2_64 $* -s:"lua_test") 2>&1 | tee /data/ma/actual/gma2/temp/log.txt . /data/ma/actual/gma2/bin/sendreport.sh ;; *) exit 0 ;; esac RESULT=$? [ $NOX ] || service x11 enum case "$RESULT" in "$RA_DOWN") echo "Programm ended" ;; "$RA_POWERDOWN") echo "PowerOff" poweroff ;; "$RA_REBOOT") echo "reboot" reboot ;; "$RA_REBOOT_WARM") echo "reinitialization" /etc/init.d/rcNetwork ;; *) ;; esac
最新发布
11-14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值