精华内容
下载资源
问答
  • 问题描述要手动执行修补,我必须输入此命令sudo ./playback_delete_data_patch.sh 09_delete_old_data_p.sql09之前有一个空间:sudo ./playback_delete_data_patch.sh [space] 09_delete_old_data_p.sql如何在脚本中...

    问题描述

    要手动执行修补,我必须输入此命令

    sudo ./playback_delete_data_patch.sh 09_delete_old_data_p.sql

    09之前有一个空间:

    sudo ./playback_delete_data_patch.sh [space] 09_delete_old_data_p.sql

    如何在脚本中运行它?

    还有其他一些命令但是这个命令很麻烦。

    最佳解决办法

    在脚本中包含sudo并不是一个好主意。而是从脚本中删除sudo并使用sudo运行脚本本身:

    sudo myscript.sh

    这样,脚本中的所有命令都将以root权限运行,您只需在启动脚本时提供一次密码。如果您需要在没有sudo权限的情况下运行脚本中的特定命令,则可以使用(感谢Lie Ryan)以普通用户身份运行它:

    sudo -u username command

    空间是无关紧要的,它不应该影响任何东西,命令和它的参数之间总是有一个空格。

    次佳解决办法

    您可以修改sudoers文件。

    运行sudo visudo。

    为您的用户名和要运行的脚本添加条目,而不要求输入密码。

    username ALL=(ALL) NOPASSWD: /path/to/script

    第三种解决办法

    你可以尝试类似的东西:

    echo "PASSWORD" | sudo -S ./playback_delete_data_patch.sh 09_delete_old_data_p.sql

    这是不安全的事情,因为你用纯文本写了一个sudoer密码。为了使它更安全,您可以创建一个变量并将sudo密码读入变量,然后您可以执行以下命令:

    echo $PASSWORD | sudo -S ./playback_delete_data_patch.sh 09_delete_old_data_p.sql

    此外,如果您不介意以root身份执行所有命令,则可以使用sudo简单地执行脚本,如前所述。

    sudo ./myscript

    第四种办法

    这个答案类似于terdon的answer。我还建议使用sudo运行主脚本,这样您就可以在不询问用户任何密码的情况下运行命令。

    但是,如果您要以非root用户或特定系统用户身份运行某些命令,而是以sudo运行命令的实际用户,则可以检查$SUDO_USER变量以找出原始用户。

    这是一个如何实现这一目标的示例脚本:

    #!/bin/bash

    # ref: https://askubuntu.com/a/30157/8698

    if ! [ $(id -u) = 0 ]; then

    echo "The script need to be run as root." >&2

    exit 1

    fi

    if [ $SUDO_USER ]; then

    real_user=$SUDO_USER

    else

    real_user=$(whoami)

    fi

    # Commands that you don't want run with root would be invoked

    # with: sudo -u $real_user

    # So they will be ran as the user who invoked the sudo command

    # Keep in mind, if the user is using a root shell (they're logged in as root),

    # then $real_user is actually root

    # sudo -u $real_user non-root-command

    # Commands that need to be ran with root would be invoked without sudo

    # root-command

    第五种办法

    #!/bin/bash

    # this declares that current user is a sudoer

    sudo tee /etc/sudoers.d/$USER <

    END

    # write the content of your script here

    sudo npm install hexo-cli -g

    mkdir Untitled

    sudo apt-get install python

    # then to remove the sudo access from the current user

    sudo /bin/rm /etc/sudoers.d/$USER

    sudo -k

    第六种办法

    实际上有一种更简单的方法可以做到这一点。为了便于携带,这是我的实现,但随时可以根据您的需要进行操作。

    在启动脚本时输入您的sudo密码作为参数,捕获它,并使用每个命令回显它,这将提示输入sudo密码。

    #!/bin/bash

    PW=$1

    echo $PW | ./playback_delete_data_patch.sh 09_delete_old_data_p.sql

    ./command_wo_sudo.sh

    echo $PW | ./other_command_requires_sudo.sh

    您可以在脚本启动后添加提示和捕获,如下所示:

    echo "enter the sudo password, please"

    read PW

    但是,如果其他人监视节点上运行的内容;可以访问由它创建的日志;或者只是在运行测试时随机查看,这可能会危及安全性。

    这也适用于运行需要yes继续的命令/脚本:

    echo $PW | yes | ./install.sh

    回显是对提示的响应,因此,如果您按顺序运行其他提示进度的脚本,则可以使用您需要的任何内容。但要确保你知道订单,否则会发生不好的事情。

    参考资料

    展开全文
  • linux执行.sh文件的方法

    万次阅读 2012-10-18 13:58:48
    一个中等水平的Linux用户一定少不了经常执行.sh文件,当然了,你可以在图形界面下面直接双击该文件,但无疑比较浪费时间。 现在介绍第一种方法:(在ubuntu下的) 首先你要打开一个终端。 然后输入sudo su 随后输入...


    一个中等水平的Linux用户一定少不了经常执行.sh文件,当然了,你可以在图形界面下面直接双击该文件,但无疑比较浪费时间。

    现在介绍第一种方法:(在ubuntu下的)

    首先你要打开一个终端。
    然后输入sudo su
    随后输入密码。这样就取得了root用户权限。
    然后找到那个文件(当然是在终端里面用命令找,你可别开一个文件管理器。)
    执行./sh文件名字
    就可以了。

     

    比如你有一个sh文件叫1.sh,这个文件在硬盘的/tmp目录里面,要执行的话,就要这样:

    C代码
    1. $ sudo su  
    2. pass your password:(这里输入密码的时候是看不到输入的东西的,不过确实已经输入进去了。)  
    3. #cd /tmp  
    4. #./1.sh  
    $ sudo su pass your password:(这里输入密码的时候是看不到输入的东西的,不过确实已经输入进去了。) #cd /tmp #./1.sh

     这样就OK了。

    SH文件是Linux系统里面的类似批处理的文件,所以运行sh文件后可能会还要你输入一些信息。这个就视sh文件的内容而定了。

     

    第二种方法:

    sh xx.sh

     

    最后建议:使用

    C代码
    1. man sh   
    man sh

     来看看sh 的介绍~


    展开全文
  • 如果没有给普通用户配置过 NOPASSWD,那么每次非root用户在命令行终端执行需要root权限的操作时都需要需要密码然后回车,在一般情况下没什么问题,但是如果在脚本中就不行了。 如果希望在脚本中执行一个需要输入密码...
  • 在shell脚本里执行sudo 命令

    千次阅读 2021-05-11 11:49:55
    onBlur事件与onfocus事件(js)onFocus事件就是当光标落在文本框中时发生的事件. onBlur事件是光标失去焦点时发生的事件....= N <= 1,000)个节点,M(M <= 100,000)条边的带权有向图.要求你写一个程序, 判...

    onBlur事件与onfocus事件(js)

    onFocus事件就是当光标落在文本框中时发生的事件. onBlur事件是光标失去焦点时发生的事件. 可以编如下例子 1.html

    vijos1053Easy sssp

    P1053Easy sssp 描述 输入数据给出一个有N(2 <= N <= 1,000)个节点,M(M <= 100,000)条边的带权有向图. 要求你写一个程序, 判断这个有向图 ...

    C&sol;C&plus;&plus;中常量字符串管理

    为了节省内存,C/C++把常量字符串放到单独的一个内存区域.当几个指针赋值给相同的常量字符串时,它们实际上会指向相同的内存地址.但用产量初始化字符数组,结果却不同. 下面是一个小程序示例: #incl ...

    在Windows Server 2008 R2下搭建jsp环境(四)-在测试的过程中可能出现的问题

    环境基本部署好了之后,便开始测试,一定要让他经得起"考验",他才会值得你的信赖.Tomcat服务器部署成功的的验证方法(默认端口的情况下): 1.loacalhost:8080 2 ...

    centos7安装rabbitmq3&period;7&period;9

    感谢此兄: https://blog.51cto.com/huwei555/2341513?source=dra  (centos7 安装rabbitmq 3.7) 以root用户登录.cd /hom ...

    C&num;&colon;注册组件 (cmd)

    public class ComRegistor { public static string classID = "CLSID\\{479A1AAC-C148-40BB-9868-A977 ...

    (18)jq事件操作

    jq的私人网站:http://jquery.cuishifeng.cn/ 具体的查看上面的网站

    HBase常用操作命令

    HBase常用操作命令 1.进入HBase脚本客户端 #hbase shell #进入HBase脚本客户端 > whoami    #查看当前登录用户 > status           ...

    Symbol Table Applications

    符号表应用 在计算机发展的早期,符号表帮助程序员从使用机器语言的数字地址进化到在汇编语言中使用符号名称:在现代应用程序中,符号名称的含义能够通行于跨域全球的计算机网络.快速查找算法曾经并继续在计算机领 ...

    FBV和CBV区别

    FBV和CBV区别         def dispatch(self, request, *args, **kwargs):        # 做分发的        if request.meth ...

    展开全文
  • 直接使用bash 或sh执行bash shell脚本: 复制代码 代码如下: cd /data/shell bash hello.sh 或 复制代码 代码如下: cd /data/shell sh hello.sh

    直接使用bash 或sh 来执行bash shell脚本:

    复制代码 代码如下:

    cd /data/shell
    bash hello.sh

    复制代码 代码如下:

    cd /data/shell
    sh hello.sh

    展开全文
  • su -sudo bashsudo sh背景在Linux (和Unix一般)中,有一个名为SuperUser的root,SuperUser可以做所有事情,因此用SuperUser进行日常工作很危险,错误地键入命令会销毁系统。su -此命令用于登录root帐户,默认情况下...
  • 1.问题描述: 当出现以下错误: 2.解决方案: 执行以下命令: 切换到超级用户: ...最后一行加入:alias sudo=‘sudo env PATH=$PATH’ 保存退出,重启一下系统 参考https://blog.csdn.net/run_mo/
  • Python 执行 shell 命令添加 sudo 密码

    千次阅读 2019-09-10 19:22:06
    Python 执行 shell 命令添加 sudo 密码 1. ping -c 4 www.baidu.com strong@foreverstrong:~$ ping -c 4 www.baidu.com PING www.a.shifen.com (61.135.169.121) 56(84) bytes of data. 64 bytes from 61.135.169....
  • 给.sh文件添加执行权限linux

    千次阅读 2021-02-07 11:52:38
    chmod是权限管理命令change the permissions mode of a file的缩写。。 u代表所有者,x代表执行权限。 + 表示增加权限。...chmod u+x file.sh 就表示对当前目录下的file.sh文件的所有者增加可执行权限。
  • Linux执行sh文件提示Permission denied

    千次阅读 2018-11-02 09:14:33
    /startup.sh./shutdown.sh执行以上命令时会提示:Permissiondenied;这是因为当前目录下没有执行.sh文件的权限,所以导致无法执行该脚本;在该目录下执行:chmodu+x*.sh再次去执行你的命令就OK了。 ./startup.sh  ./...
  • linuxsudo命令_Linux中的Sudo命令

    千次阅读 2020-07-10 10:44:52
    linuxsudo命令Sudo is one of the most widely used commands by Linux administrators and beginners alike. In this guide, we will look at sudo command and its usages. SudoLinux管理员和初学者最广泛使用...
  • php利用sudo权限执行shell脚本

    万次阅读 2016-10-13 12:27:23
    php作为一门服务器端脚本语言,也是可以调用系统命令的,这其中就包括了执行shell脚本 最近有一个需求,由于http的表单方式上传文件过慢,需要通过其他方式传输文件,讨论了scp与rsync后 最终决定使用scp工具 编写test....
  • linux开机自动执行.sh脚本

    万次阅读 2018-05-10 23:36:13
    编写开机自动执行的脚本auto.sh #!/bin/sh #chkconfig: 2345 20 80 #description:Server reboot.Execute auto.sh #client post port 80 redirect 9527 #sudo iptables -A PREROUTING -t nat -i eth0 -p tcp —...
  • sudo执行脚本失败command not found问题

    千次阅读 2018-03-13 23:22:33
    背景:我们的项目使用了superset...最近接了一个自动升级python的需求,在开发过程中被linux的环境变量坑了一会。 - 问题1:Python2.7安装完后,为什么执行python -V 还是2.6 - 问题2:安装过程中进行Python编译,...
  • Linux sudo 命令详解

    千次阅读 2016-02-28 16:47:18
     sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5...
  • 切换到sudo后,后边的命令就不执行了,掉脚本也不行,全部加sudo也不行。 后来才发现。 sh -c 就Ok了呀宝宝!!! sudo -iu appops sh -c "cd ~/ka-engine-test/qa_new/tomcat-tomcat-Ins1/logs
  • Linux 运行 .sh 文件的两种方法

    千次阅读 2021-05-08 23:28:14
    Linux 运行 .sh 文件的两种方法文章作者:网友投稿 发布时间:2010-06-15 13:31:16 来源:网络一个中等水平的Linux用户一定少不了经常执行.sh文件,当然了,你可以在图形界面下面直接双击该文件,但无疑比较浪费...
  • Linux 下 .sh 快捷方式以 root 身份运行

    千次阅读 2019-12-25 21:10:15
    Linux 下,有些软件是以 .sh 文件来启动的,某些特殊情况需要以 root 用户来运行,创建了快捷图标后却无法以 sudo 来运行,这里说一个折中的方法,以 IDEA 为例。 为 IDEA 创建快捷方式 假设我的 IDEA 压缩包...
  • 在Windows上,如何执行.sh文件?

    千次阅读 2021-05-10 20:19:42
    问题描述当我尝试通过命令./name.sh在命令行中执行文件(name.sh)时,我收到错误消息:"." is not recognized as an internal or external command, operable or batch file执行.sh文件的正确方法是?最佳解决方法从...
  • python 使用 linux shell sudo

    千次阅读 2017-05-22 16:05:46
    python shell sudo
  • 不使用sudo命令执行docker 为什么需要创建docker用户组? Docker守候进程绑定的是一个unix socket,而不是TCP端口。这个套接字默认的属主是root,其他是用户可以使用sudo命令来访问这个套接字文件。因为这个原因,...
  • 经检查,sudo命令正常,该脚本文件的确存在于该目录下 遂使用 ls -l 命令查看下该文件的权限: ps: - 代表没有权限,r为可读权限,w为可写权限,x为可执行权限 共9个基本权限位,其中每3个一组(r、w、x), 共...
  • Linuxsudo配置文件及相关命令

    千次阅读 2021-01-22 14:43:48
    Linuxsudo文件及相关配置 sudo意思是super-user do,让当前用户暂时以管理员的身份root来执行命令 visudo命令 需要超级用户权限;默认编辑/etc/sudoers文件; sudoers文件的默认权限是440,默认无法修改;该...
  • 这里的 expect 其实和 linux 下的 bash、windows 下的 cmd 是一类东西。 注意:这一行需要在脚本的第一行。 2. [set timeout 30] 这是设置超时时间的,计时单位是:秒 3. [spawn ssh -l username 192...
  • Linux sudo找不到某个命令

    万次阅读 2017-12-25 09:08:37
    有时候,Linux sudo找不到某个命令,但是直接执行就可以找到,说明命令是在环境变量路径下的,不过加了sudo之后似乎就不在环境变量路径下了; 网上查了一下,sudo时环境变量会发生变化,需要配置一下/etc/profile...
  • Linux sudo权限提升漏洞 CVE-2021-3156

    千次阅读 热门讨论 2021-01-28 13:08:45
    1月26日,Sudo发布了一份安全通知,修复了类似Unix的操作系统在命令参数中避免反斜杠时基于堆的缓冲区溢出漏洞。漏洞等级:高危,漏洞评分:7.0。当sudo在shell模式下通过-s或-i命令行选项运行命令时,它使用反斜杠...
  • sudo免密和远程执行shell脚本

    千次阅读 2017-04-17 15:22:36
    一,sudo免密 1,管道符 例:echo 'passwd' | sudo service httpd restart 2,visudo 例:username ALL=(root) NOPASSWD:chown,rsync username即需要执行sudo...也就是说当username用户执行sudo chown 和sudo rsy
  • Linux跳过sudo权限安装

    千次阅读 2018-08-20 11:54:41
    2.然后按顺序执行下列命令 1. sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)" 2. test -d ~/.linuxbrew &amp;&amp; PATH="$HOME/....
  • 原文链接:Ubuntu sh命令无法正确执行 ! 新安装的ubuntu,执行shell命令,都怀疑自己的shell水平了。 原来, ubuntu默认的是dash, 需要手动执行命令将dash改为bash. 命令: sudo dpkg-reconfigure dash。 然后...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 92,214
精华内容 36,885
关键字:

linuxsudo执行sh

linux 订阅