linux 执行.sh文件几种方式区别

script的执行方式区别

  


前言

不同的script执行方式会造成不一样的结果,尤其对bash的环境影响很大,脚本的执行方式有大概以下几种方式。

首先写一个简单的test.sh文件:

#!/bin/bash

read -p "Please input your first name:" firstname
read -p "Please input your last name:" lastname
echo -e "\nYour full name is: $firstname $lastname"

阅读剩余部分 -

CentOS 7更换yum源

一、目的


为了在没网的情况下或体验更快的速度及更好的体验。毕竟自带yum源在国外。(本例用的是阿里yum源,其他的也可以)

二、yum机制简介


引用百度百科及一些个人见解

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

  • yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http或ftp站点,也可以是本地软件池,但必须包含rpm的header,header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等.正是收集了这些 header并加以分析,才能自动化地完成余下的任务。

阅读剩余部分 -

更换CentOS7的下载源为阿里云

1、备份

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/

 

CentOS 5

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

或者

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

 

 

CentOS 6

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

或者

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

 

 

CentOS 7

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

或者

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

epel源也可以更新下。

wget -qO /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

3、之后运行yum makecache生成缓存

阅读剩余部分 -

CentOS 7 通过 yum 安装 nodejs 和 npm

 

  1. 获取nodejs 资源

    # 4.x

    curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -

     

    # 5.x

    curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -

     

    # 0.10

    curl --silent --location https://rpm.nodesource.com/setup | bash -

     

    我这里安装的是 v4.x


    CentOS 7 通过 yum 安装 nodejs 和 npm
    CentOS 7 通过 yum 安装 nodejs 和 npm

阅读剩余部分 -

IndentationError: unexpected indent python

    都知道python是对格式要求很严格的,写了一些python但是也没发现他严格在哪里,今天遇到了IndentationError: unexpected indent错误我才知道他是多么的严格。
    以后遇到了IndentationError: unexpected indent你就要知道python编译器是在告诉你“Hi,老兄,你的文件里格式不对了,可能是tab和空格没对齐的问题,你需要检查下tab和空格了”。
    在windows上你可以用editplus看的,虽然我不知道怎么显示出tab,但是他能显示你的文件是没对齐的,我是在ubuntu上编写python的。我用的是vim,你可以设置下vim中tab用空格替换,我在前一篇文章里写过关于这个设置的问题,我现在在补充一下,之前是在系统目录下设置的,现在我要在home目录下设置;
    首先 cd ~(到你的home目录)
    然后 ls -a(显示隐藏的文件)
    找到.vimrc(记得是带个点前缀的)
    然后编辑这个文件
    找到如下的命令:
16 set autoindent
17 set smartindent
19 set tabstop=4
20 set shiftwidth=4
21 set softtabstop=4
22 set noexpandtab
    然后在set tabstop=4前面加上set expandtab同时你需要把set noexpandtab这个注释掉,怎么注释呢,就是加个双引号。我没试过直接注释不加set expandtab,我想也可以(难道默认是expandtab)。这样你可以放心使用VIM了。
     当然我并不是想就这样完事,我其实想看下我的代码到底哪里会有问题呢,就需要看下他的格式了,主要是看tab,这个可以同样在刚才那个文件里设置,在刚才设置的下面比如说
在set softtabstop=4下面加上一句set list。这句就可以让你的vim打开的文件显示出tab了,当然也许你觉得显示的不好看,他显示的样子是“^I”一个数字键6上那个符号和一个大写的I表示一个tab,这个不会显示出空格。他还会显示出段落的起始符^和终止符$,如果不知道这2个符号可以看下正则表达式。
     以上2点设置以后,我想以后你就不会遇到IndentationError: unexpected indent这个很烦人的错误了。
    以上的set命令都可以单独使用,但是只对当前打开的vim有效,你可以按下shift加冒号,然后输入set XXX,回车然后就有效果了,但是你要再次进入编辑模式才能看到。
    希望分享给每个写python的人。

阅读剩余部分 -

在centos7上使用systemd启动supervisor

介绍

Systemd

Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置。可以通过 systemctl --version 命令来查看使用的版本

常用命令

# 立即启动一个服务
$ sudo systemctl start apache.service
# 立即停止一个服务
$ sudo systemctl stop apache.service
# 重启一个服务
$ sudo systemctl restart apache.service
# 杀死一个服务的所有子进程
$ sudo systemctl kill apache.service
# 重新加载一个服务的配置文件
$ sudo systemctl reload apache.service
# 重载所有修改过的配置文件
$ sudo systemctl daemon-reload
# 显示某个 Unit 的所有底层参数
$ systemctl show httpd.service

阅读剩余部分 -

如何从VirtualBox中从主机访问NAT虚拟机

提问: 我有一台运行在VirtualBox上的使用NAT的虚拟机,因此虚拟机会被VirtualBox分配一个私有IP地址(10.x.x.x)。如果我想要从主机SSH到虚拟机中,我该怎么做?

VirtualBox对虚拟机支持几种不同的网络方式,其中一种是NAT网络。当虚拟机启用NAT后,VirtualBox会自动在虚拟机和主机之间进行网络翻译,因此你不必在虚拟机和主机之间配置任何东西。这也意味着NAT中的虚拟机对于外部网络以及主机本身是不可见的。这会在你想要从主机访问虚拟机时会产生问题(比如SSH)。

如果你想从VirtualBox的NAT环境的虚拟机,你可以在GUI或者命令行下启用VirtualBox NAT的端口转发。本篇教程将会演示如何通过启用22端口转发而从主机SSH连接到NAT环境的客户机。如果你先想要从HTTP访问NAT的客户机,用80端口代替22端口即可。

阅读剩余部分 -

VIRTUALBOX VAGRANT虚拟机网速慢解决方案

我本机的环境是mac os + virtualbox,在vagrant虚拟机里连接外网的速度非常慢,和直接在mac的终端里连外网的速度相差非常大

[vagrant@vagrant-centos65 ~]$ time curl -s http://www.baidu.com > /dev/null
real 0m5.091s
user 0m0.016s
sys 0m0.006s

阅读剩余部分 -