Linux终端执行shell脚本,提示权限不够的问题及解决

 更新时间:2024年01月11日 17:03:20   作者:嵌入式Linux系统开发  
这篇文章主要介绍了Linux终端执行shell脚本,提示权限不够的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Linux终端执行shell脚本,提示权限不够

今天在Linux尝试搭建dynamips的工作环境

在执行shell脚本时遇到个小问题

有一个名为start.sh的脚本文件

内容如下:

#!/bin/bash
./dynamips.bin -H 7200 &

在终端执行shell脚本后

出现问题如下:

[root]# ./start.sh
bash: ./start.sh: 权限不够

解决方法

是先使用chmod命令对shell脚本赋予权限

再执行

[root]# chmod 777 ./start.sh
[root]# ./start.sh

让你的shell在后台运行

pc帮助我们搬砖,总不能傻傻的等在terminal等着跑完吧。万一terminal

让进程后台运行

使用&可以让程序后台运行,比如我

for i in {1..10000}; do echo $i; sleep 1; done &

已经后台执行,我用ctrl+c也无法打断,因为进程已经在后台跑了

jobs查看当前终端后台运行

jobs只查询当前终端的运行程序

输出重定向

由于输入没有重定向,所以还是输出到当前的终端。

重定向输出到文件中。

for i in {1..10000}; do echo $i; sleep 1; done > my.log &

这样就不会在控制台输出呗干扰了

让进程不依赖当前shell运行

由于此后台运行的程序依赖当前shell,当我退出的时候,程序也推出了

都是由2666966这个进程带起来的

通过disown命令,把进程用不依赖当前terminal。

disown后,jobs已经是空的

nohub运行, nohup 和 & 的区别

为了避免我每次都到输入disown,如果能让进程启动时,就不跟随系统,可以使用nohub

nohup bash -c 'for i in {1..10000}; do echo $i; sleep 1; done ' > my.log  2>&1 &

这样运行的程序默认就是不依赖当前terminal的。

  • nohub : 应用程序不再和terminal关联,默认不会后台运行
  • &:后台运行

后台运行程序再次接入

在后台运行的程序,有时候想重新接入前台,使用fg(Foreground),可以拉起,但必须jobs是以看到进程的。

stopped程序重新唤醒

jobs可以看到的进程,使用bg重新拉起来

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • CentOS7.2安装MySql5.7并开启远程连接授权的教程

    CentOS7.2安装MySql5.7并开启远程连接授权的教程

    这篇文章主要介绍了CentOS7.2安装MySql5.7并开启远程连接授权的教程,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-07-07
  • Linux环境宿主机进入Docker容器实现过程

    Linux环境宿主机进入Docker容器实现过程

    文章介绍了如何在Linux宿主机中进入Docker容器,并提供了进入MySQL容器的示例命令,还介绍了如何在Docker和宿主机之间复制文件
    2025-10-10
  • Linux jq命令的使用解读

    Linux jq命令的使用解读

    jq 是一个强大的命令行工具,用于处理 JSON 数据,它可以用来查看、过滤、修改、格式化 JSON 数据,通过使用各种选项和过滤器,可以实现复杂的 JSON 处理任务
    2025-11-11
  • Linux使用System V实现内存共享的最佳实践

    Linux使用System V实现内存共享的最佳实践

    System V的共享内存是Unix操作系统中一种进程间通信机制,它允许不同的进程通过共享一块物理内存区域来交换数据,共享内存提供了高效的进程间通信方式,因为进程可以直接读写共享区域,本文给大家介绍了在Linux上实现内存共享的最佳实践,需要的朋友可以参考下
    2025-07-07
  • linux下修改文件权限chmod命令详细解析

    linux下修改文件权限chmod命令详细解析

    大家好,本篇文章主要讲的是linux下修改文件权限chmod命令详细解析,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Linux od命令详细介绍及用法实例

    Linux od命令详细介绍及用法实例

    这篇文章主要介绍了Linux od命令详细介绍及用法实例的相关资料,这里对Linux od命令的格式,命令选项及用法一一介绍详解,需要的朋友可以参考下
    2017-01-01
  • Linux获取磁盘的UUID和序列号WWID的方法

    Linux获取磁盘的UUID和序列号WWID的方法

    本文介绍了在Linux系统中,由于磁盘标识符(sd*)可能会在重启后发生变化,特别是在Oracle RAC环境下需要稳定性,文章详细阐述了WWID和UUID的概念,它们都是用于独特标识磁盘的标识符,需要的朋友可以参考下
    2026-04-04
  • Linux基线检查与安全加固方式

    Linux基线检查与安全加固方式

    本文详细介绍了Linux安全加固的多个方面,包括账户管理、口令策略、SSH安全设置等,首先,对于账户管理,介绍了口令锁定策略、口令生存期、口令复杂度、密码重用限制以及禁止存在空密码账户等方面的检查和加固操作,其次,在服务管理方面
    2024-10-10
  • Linux系统中的/etc/hosts文件使用说明

    Linux系统中的/etc/hosts文件使用说明

    /etc/hosts是Linux系统用于IP与主机名映射的配置文件,支持本地解析、开发测试和网络安全,127.0.0.1用于本地测试,127.0.1.1在Debian/Ubuntu中映射FQDN,两者均为回环地址
    2025-09-09
  • Windows与Linux环境下的高性能负载均衡教程

    Windows与Linux环境下的高性能负载均衡教程

    这篇文章主要介绍了Windows与Linux环境下的高性能负载均衡教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05

最新评论