如何手动运行 shell 脚本命令

如何手动运行 shell 脚本命令

我在三星 ARM Chromebook 上通过 crouton 在 chroot 中运行 Ubuntu。我尝试在 Ubuntu 中运行 Cisco AnyConnect VPN,但遇到了一个问题。它安装成功,但守护进程无法启动。我在这里找到了该问题的描述: https://github.com/dnschneid/crouton/issues/15

因此,我在 /etc/init.d 中找到了 AnyConnect 的 shell 脚本,但我不够聪明,无法弄清楚如何手动运行这些命令。我希望有人能给我指明正确的方向。

以下是 vpnagentd_init 文件的内容:

#!/bin/sh
#
# chkconfig: 345 85 25
# description: vpnagentd is used for managing the cisco vpn client datapath.
# processname: vpnagentd



# Source function library.
if [ -e "/etc/init.d/functions" ]; then
  . /etc/init.d/functions
fi

RETVAL=0

start() {
  # If TUN isn't supported by the kernel, try loading the module...
  /sbin/lsmod | grep tun > /dev/null
  if [ $? -ne 0 ]; then
    /sbin/modprobe tun > /dev/null 2> /dev/null
    if [ $? -ne 0 ]; then
      # check for /dev/net/tun
      [ -c "/dev/net/tun" ] || echo  Warning: Unable to verify that the tun/tap driver is loaded.  Contact your system administrator for assistance.
    fi
  fi

  echo -n $"Starting up Cisco VPN daemon "
  /opt/cisco/vpn/bin/vpnagentd
  RETVAL=$?
  echo
  return $RETVAL
}

stop() {
  echo -n $"Shutting down Cisco VPN daemon "
  killall vpnagentd
  RETVAL=$?
  echo
  return $RETVAL
}

dostatus() {
  status vpnagentd
}

restart() {
  stop
  start
}

# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
    restart
    ;;
  status)
        dostatus
        ;;
  *)
        echo $"Usage: vpnagent {start|stop|restart|status}"
        exit 1
esac

exit $RETVAL

答案1

例如,要运行“start daemon”部分,请复制“start(){”和“}”之间的文件内容,并将其放入文本文件 startScript 中(作为示例)。使用 chmod+x startScript 使脚本可执行,然后使用 ./startScript 运行它。如果需要,可以对停止和状态部分执行相同的操作。

答案2

如果只是运行一个 shell 脚本,我会尝试回答。

打开终端Ctrl++AltT输入:

sudo nautilus

输入密码。浏览到该脚本所在的位置。右键单击该文件。转到特性-->权限. 通过勾选“授予执行权限允许将文件作为程序执行“。

使用cd directory_name转到脚本位置。然后键入sh vpnagentd_init.sh运行脚本。希望这会有所帮助。

相关内容