当前位置:首页 » 编程软件 » shell安装脚本

shell安装脚本

发布时间: 2023-01-19 01:23:13

Ⅰ 如何在Windows下运行linux shell脚本

使用的Windows的系统,而想在Windows电脑中进行直接shell的脚本,而不用再进行学习其它的脚本语言。下面是我跟大家分享的是如何在Windows下运行linux shell脚本,欢迎大家来阅读学习。

在Windows下运行linux shell脚本的方法

工具/原料

Windows

git

方法/步骤

首先电脑中需要安装的是git的应用程序,安装完成之后,可以在开始菜单进行查看。

Ⅱ 环境搭建-CentOS 7上通过Shell脚本自动化安装Harbor

  最近在搭建 Kubernetes 1.14 版本,过程中涉及各种组件的安装配置,所以打算通过脚本自动化的部署配置这些组件,本文主要描述在 CentOS 7上通过Shell脚本自动化安装Harbor,上一篇是7月5号写的,又偷懒了十多天。

环境搭建-CentOS 7上通过脚本自动化部署JDK 8
环境搭建-CentOS 7上通过Shell脚本自动化修改机器名并配置静态IP
环境搭建-CentOS 7上通过Shell脚本自动化配置免密登录
环境搭建-CentOS 7上通过Shell脚本自动化安装Harbor

  安装 Harbor 的步骤在这里不做详细列出,具体可参看笔者的这篇文章- 环境搭建-CentOS下安装Harbor镜像仓库 ,本文和这篇文章的不同之处在于 Harbor 的版本,本文采用的是1.8.1,之前使用的是1.5.1,最大的不同是配置文件的不同,详细可以参看 GitHub 中 release 介绍,配置文件由之前的 harbor.cfg 变更为 harbor.yml:

详细的脚本如下:

Ⅲ 使用shell脚本实现批处理安装apk

在智能终端的性能测试中,经常需要安装大量的apk使用来测试设备的流畅性,如果使用手工安装不免效果很低还特别枯燥

安装apk命令:adb install testapk         

如果是系统应用,adb insatll是无法直接安装的,必须覆盖安装,adb insatll -r testapk

1)此处介绍在ubuntu环境下如果使用批处理快捷的安装apk,执行此shell文件需要cd进入apk文件夹

Ⅳ 在ubuntu中如何安装shell 脚本程序

jdk源里有

脚本就chmod 755 XX
sudo ./XXX

ubuntu下最好不要用sh XX来运行脚本
ubuntu默认的system shell为dash,只有严格符合posix标准的脚本才能用sh XX来运行
否则用bash XX或./XXX比较好

Ⅳ 如何在Windows下运行linux shell脚本

1、首先电脑中需要安装的是git的应用程序,安装完成之后,可以在开始菜单进行查看。

2、并需要配置好git的bin,配置环境变量,把bin的绝对路径复制到环境变量中path。

3、配置git的环境变量之后,在任意文件进行创建一个为mkdir.sh,文件名可以是随意的结尾需要为.sh。

4、然后在sh的文件中进行输入#!/bin/shtoucha.txtsleep10echo"testtesttesttest">>a.txt

创建一个为txt文件后testtesttesttest写入到txt文件中。

5、然后进行双击.sh的文件,会弹出git的命令窗口,根据代码的执行的时间窗口显示多久。

6、然后就会自动生成一个a.txt的文件。

7、并会在a.txt文件中写入为“testtesttesttest”的一段文字,即代表运行linuxshell脚本成功。

Ⅵ Centos7一键安装jdk1.8 shell脚本

jdk-8u251-linux-x64.tar.gz

1、vi install_java.sh 脚本

2、将 install_java.sh 脚本与安装tar包放在同一目录下,运行此脚本进行自动化安装

3、给脚本文件加执行权限

4、运行脚本文件,进行安装

Ⅶ 2、Mysql自动安装8.0Shell脚本

如果您觉得文本对您有帮助,请打赏,谢谢。

新建执行脚本:mysql_install.sh,并添加执行权限

#!/bin/bash

#zhouyihua V0.1 2021.07.08

#For centos 7.0 & 8.0

#v 0.2

# add DNS

echo "----------  Add DNS  --------"

echo "nameserver 8.8.8.8" >> /etc/resolv.conf

#stop firewall

systemctl stop firewalld

if [ $? -ne 0 ]; then

    echo "Firewall stop failed"

else

    echo "Firewall stop success"

fi

#download mysql yum source

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

#install mysql yum source

rpm -ivh mysql80-community-release-el7-3.noarch.rpm

#enable 5.7

#sed -i '21s/enabled=0/enabled=1/g' /etc/yum.repos.d/mysql-community.repo

#sed -i '21s/enabled=0/enabled=1/g' /etc/yum.repos.d/mysql-community.repo

#disable 8.0

#sed -i '28s/enabled=1/enabled=0/g' /etc/yum.repos.d/mysql-community.repo

#install mysql

yum -y mole disable mysql

yum -y remove mariadb-libs

yum install -y mysql-community-server

#config mysql

echo "-----------  Config my.cnf  ----------"

sed -i '/\[mysqld\]/a\lower_case_table_names=1' /etc/my.cnf

sed -i '/\[mysqld\]/a\skip-grant-tables' /etc/my.cnf

#start mysql

echo "----------  Starting mysql service  ----------"

systemctl start mysqld.service

mysql -uroot -p123456  << EOF

    use mysql;

    update user set authentication_string='' where user='root' ;

    flush privileges;

    ALTER user 'root'@'localhost' IDENTIFIED BY '?CZJh8JWxvH';

EOF

echo "----------  Annotation skip grant tables in my.cnf    ----------"

sed -i 's/skip-grant-tables/\#skip-grant-tables/g' /etc/my.cnf

echo "----------  Restart mysql service  ----------"

systemctl restart mysqld.service

echo "----------  Grant all privileges  ----------"

mysql -uroot -p'Oracle1234!@#$'    --connect-expired-password -e "alter user 'root'@'localhost' identified by 'Oracle1234!@#$';"

mysql -u root -p'Oracle1234!@#$'  << EOF

    use mysql;

    CREATE USER 'maxkey'@'%' IDENTIFIED BY 'Oracle1234!@#$';

    GRANT ALL ON *.* TO 'maxkey'@'%';

EOF

参考:

先设置grant_skip_tables

  1.  use mysql

  2. update user set authentication_string='' where user='root' ;    如果这个字段有值,先置为空

  3. flush privileges    刷新权限表

  4.ALTER user 'root'@'localhost' IDENTIFIED BY 'Tianya1234'    修改root 密码

参考:https://blog.csdn.net/qq_27820551/article/details/101488430

Ⅷ 用shell脚本怎么实现安装升级版本

A:本脚本运行的机器,Linux
B:待安装JDK的机器, Linux
首先在脚本运行的机器A上确定可以ssh无密码登录到待安装jdk的机器B上,然后就可以在A上运行本脚本:
复制代码 代码如下:

$ ./install-jdk.sh B的IP
or:
复制代码 代码如下:

$ ./install-jdk.sh "B的IP" "JDK的URI"
就可以在机器B上安装JDK。jdk使用的tar包需要用户自己设定DEFAULT_JDK_SRC=?,保证可以wget得到即可。下面是全部脚本内容:
复制代码 代码如下:

#!/bin/bash
#
# @file
# install-jdk.sh
#
# @date
# 2013-12-19
#
# @author
# cheungmine
#
# @version
# 0.0.1pre
#
# @usage:
# ./install-jdk.sh 192.168.122.206
#
################################################################################
. common.sh

#***********************************************************
# install_jdk
# install jdk on machine: /usr/local/lib
#
# Parameters:
# machine - root@ipaddr
# jdkUri - uri for fetching tarball
#
# Example:
#
# install_jdk [email protected] ftp://vm-ftp/pub/tarball/jdk-7u67-linux-x64.tar.gz
#
#***********************************************************
. common.sh

# YOU MIGHT CHANGE BELOW LINE TO GET YOUR JDK TARBALL:
DEFAULT_JDK_SRC="ftp://vm-ftp/pub/tarball/jdk-7u67-linux-x64.tar.gz"

# DO NOT CHANGE BELOW TWO LINES:
INSTALL_DIR="/usr/local/lib/java"
LOCAL_DIR="./.tmp"

function install_jdk() {
echo -e "<INFO> install jdk on machine: $1"

local DEST_LOGIN=$1
local JDK_URI=$2
local TAR=$(basename $JDK_URI)

echo -e "<INFO> jdk: '$JDK_URI'"

wget -c $JDK_URI -P $LOCAL_DIR -O $LOCAL_DIR/$TAR

$(is_empty_dir "$LOCAL_DIR/jdk_untar")
local ret=$?

case $ret in
$DIR_NOT_EXISTED)
mkdir -p $LOCAL_DIR/jdk_untar
;;
$DIR_IS_EMPTY)
;;
$DIR_NOT_EMPTY)
rm -rf $LOCAL_DIR/jdk_untar/*
;;
*)
exit $ERR_FATAL_ERROR
;;
esac

# untar to jdk_untar
tar -zxf $LOCAL_DIR/$TAR -C $LOCAL_DIR/jdk_untar

$(is_empty_dir "$LOCAL_DIR/jdk_untar")
local ret=$?

if [ "$ret" -eq "$DIR_NOT_EMPTY" ]; then
local jdk_home=`ls $LOCAL_DIR/jdk_untar 2>/dev/null`
echo $jdk_home
else
exit $ERR_FATAL_ERROR
fi

echo -e "<INFO> create folder on: $DEST_LOGIN:$INSTALL_DIR"
local ret=`ssh $DEST_LOGIN "mkdir $INSTALL_DIR"`

echo -e "<INFO> $jdk_home/ to: $DEST_LOGIN:$INSTALL_DIR/"
local ret=`scp -r $LOCAL_DIR/jdk_untar/$jdk_home $DEST_LOGIN:$INSTALL_DIR`

# remove local tar
rm -rf $LOCAL_DIR/jdk_untar

local DEST_JAVA_HOME=$INSTALL_DIR/$jdk_home

echo -e "<TODO> remove old settings for install_jdk in /etc/profile"

echo -e "<INFO> set /etc/profile: JAVA_HOME=$DEST_JAVA_HOME"
local ret=`ssh $DEST_LOGIN "echo '' >> /etc/profile"`
local ret=`ssh $DEST_LOGIN "echo '#!{{[email protected]==>' >> /etc/profile"`

local ret=`ssh $DEST_LOGIN "echo 'export JAVA_HOME=$DEST_JAVA_HOME' >> /etc/profile"`
local ret=`ssh $DEST_LOGIN "echo 'export CLASSPATH=.:\\$JAVA_HOME/lib/tools.jar:\\$JAVA_HOME/lib/dt.jar' >> /etc/profile"`
local ret=`ssh $DEST_LOGIN "echo 'export PATH=\\$JAVA_HOME/bin:\\$JAVA_HOME/jre/bin:\\$PATH' >> /etc/profile"`

local ret=`ssh $DEST_LOGIN "echo '#!<[email protected]}}'>> /etc/profile"`

local ret=`ssh $DEST_LOGIN ". /etc/profile"`
}

function uninstall_jdk() {
echo -e "<TODO> uninstall jdk from: $1"
}

#=======================================================================
# ---- main() ----
if [ -n $1 ]; then
DEST_IP=$1
JDK_SRC=$DEFAULT_JDK_SRC

if [ $# == 2 ]; then
JDK_SRC=$2
fi

echo -e "<INFO> install jdk on '$DEST_IP', jdk: '$JDK_SRC'"

install_jdk "root@$DEST_IP" "$JDK_SRC"
fi

Ⅸ 在Linux shell脚本中,安装过程中如何实现自动选择安装选项

在Linux shell脚本中,安装过程中如何实现自动选择安装选项?
Linux中shell脚本运行时经常需要进行交互,比如安装软件的过程中对license声明的确认,需要输入yes,回车之类的确认信息。这个在自动化安装的时候就会是个问题。

通常对于这个问题比较灵活的解决方法就是TCL的Expect。但Expect还需要另外安装,平台通用性不高,比较麻烦。

另外一些简单的方法倒也是有,不过可用性不高,特别是对要求多次交互就吃力了。但怎么说其还是能解决大多数的问题,因为复杂的情况还是比较少的。比 如要一个调用一个安装脚本 : installWAS.sh, 这个脚本要求输入回车,则可以:echo | installWAS.sh;如果要求输入yes|no,加回车,则可以echo yes|installWAS.sh. 这下自动化安装就有希望了。

再有一下的代码也可以带来一些思路:

[0 No.2015 huan@huan ~/tmp]$ cat foo read -s -n1 -p "Press any key to continue ... " echo "Your inputs: $REPLY"
[0 No.2016 huan@huan ~/tmp]$ ./foo < /dev/null Your inputs:
[0 No.2017 huan@huan ~/tmp]$

Ⅹ shell脚本 自动安装问题

给你点思路:

  1. 对每个程序单独使用函数来写最后调用,如果在执行某个函数的时候中断,可以单独调用函数来执行

  2. 在安装的同时来判断程序(比如判断上一条命令是否执行成功,或判断程序安装后的文件,或者端口是否存在)

  3. 在每块程序安装时使用shell在前一行打上便签来注视说明

  4. 使用sh -x 脚本 来观察脚本执行到那里报错,或中断。

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:705
制作脚本网站 发布:2025-10-20 08:17:34 浏览:969
python中的init方法 发布:2025-10-20 08:17:33 浏览:677
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:831
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:738
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1077
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:309
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:189
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:875
python股票数据获取 发布:2025-10-20 07:39:44 浏览:831