shell (check return of each line)and sudoer
shell result from cmdline
echo $?
if 0 then success ;else failure
(shell 执行每部返回值,rm -rf 错误,打包不能覆盖)
have a tty to run sudo
sorry, you must have a tty to run sudo,后来,在网上了解到可以如下解决:
requiretty,修改为 #Defaults requiretty,表示不需要控制终端。
requiretty,修改为 Defaults:nobody !requiretty,表示仅 nobody 用户不需要控制终端。
Defaults:%nobody !requiretty,表示仅 nobody 组不需要控制终端。
requiretty
那个就可以了。表示在执行的时候不打开终端。但是,有的shell必须要有终端才可以执行。这样显然是不行的。后来,又找到一片文章才搞定。下面为抄录的,仅为记录以后使用。
但可能这个程序需要控制终端, 这这么办呢?
可是中间有个程序(旧的systemtap)使用了sudo
但这样很对用户不友好啊)
a tty to run sudo
那就是你的系统的sudo配置文件允许sudo可以在这个,
requiretty)
`/dev/tty' for reading: No such device or address
所以应该使用能创建(伪)控制终端的程序来启动你的程序如: script, expect
ls" /dev/null
sudo ls; expect'
0 /dev/tty' /dev/null
head -c 0 /dev/tty; expect'
组合使用有着奇怪的bug, 我这段时间非常的depression,
都是大材小用了
shell (check return of each line)and sudoer的更多相关文章
- shell (check return of each line)(PIPESTATUS[@])and sudoer
shell result from cmdline echo $? if 0 then success ;else failure (shell 执行每部返回值,rm -rf 错误,打包不能覆盖) 我 ...
- Shell脚本:while read line无法读取最后一行的问题
[1]Shell脚本:while read line无法读取最后一行的问题 刚刚利用shell脚本处理日志文件时,发现了一个问题:while read line无法读取到最后一行 通过编辑器可以看到待 ...
- SAP(ABAP):STOP,EXIT,CHECK,RETURN,REJECT,CONTINUE
Stop 命令使用该命令的程序位置INITIALIZATION, AT SELECTION-SCREEN, START-OF-SELECTION和GET 事件中处理说明1. 当在INITIALIZAT ...
- learning shell check requires root privileges
[Purpose] Shell script check requires root privileges [Eevironment] Ubuntu 16.04 bas ...
- learning shell check host dependent pkg
[Purpose] Shell script check host dependent pkg [Eevironment] Ubuntu 16.04 bash env ...
- Shell check IP
#! /bin/bash checkip() { if echo $1 |egrep -q '^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3 ...
- 如何在Windows下开发Python:在cmd下运行Python脚本+如何使用Python Shell(command line模式和GUI模式)+如何使用Python IDE
http://www.crifan.com/how_to_do_python_development_under_windows_environment/ 本文目的 希望对于,如何在Windows下, ...
- KoaHub.JS用于Node.js的可移植Unix shell命令程序代码
shelljs Portable Unix shell commands for Node.js ShellJS - Unix shell commands for Node.js Shell ...
- shell脚本小案例
1.获取远程ftp数据到本地目录 #!/bin/bash ftp -n<<! open 135.0.24.19 user exchange exchange binary cd /idep ...
随机推荐
- effective OC2.0 52阅读笔记(七 系统框架)
47 熟悉系统框架 总结:将代码封装为动态库,并提供接口的头文件,就是框架.平时的三方应用都用静态库(因为iOS应用程序不允许在其中包含动态库),并不是真正的框架,然而也经常视为框架.例如:NSLin ...
- c/c++与函数有关的优化
一.函数调用的优化 调用函数需要对内存进行多次访问,因此对函数的调用通常很费时,容易造成程序效率低下: 在函数调用过程中,如果每一次函数的调用结果都相同且需要多次调用时,可以将几次调用的结果进行多次累 ...
- [jquery]模仿radio单项选择
今天写了个小功能,模仿radio单选, //单选收货地址 $(".wuliu-table-to").find(".called").click(function ...
- 基于Struts2CRUD的质量属性
基于struts2框架开发的<学生管理系统>的质量属性 我们经常重新设计系统,可能不是因为该系统在功能上有缺陷,而是由于:系统运行速度太慢.系统容易受到外界攻击.用另外的一句话说:我们修改 ...
- 与你相遇好幸运,使用gulp流程化Typescript后端开发
tsc --init { "compilerOptions": { "module": "commonjs", ...
- 四种常见的App弹窗设计,你有仔细注意观察吗?
弹窗又称为对话框,是App与用户进行交互的常见方式之一.弹窗分为模态弹窗和非模态弹窗两种,两者的区别在于需不需要用户对其进行回应.模态弹窗会打断用户的正常操作,要求用户必须对其进行回应,否则不能继续其 ...
- 《图形学》实验五:改进的Bresenham算法画直线
开发环境: VC++6.0,OpenGL 实验内容: 使用改进的Bresenham算法画直线. 实验结果: 代码: //中点Bresenham算法生成直线 #include <gl/glut.h ...
- 【leetcode】Maximum Subarray (53)
1. Maximum Subarray (#53) Find the contiguous subarray within an array (containing at least one nu ...
- poj 3728(LCA + dp)
题目链接:http://poj.org/problem?id=3728 思路:题目的意思是求树上a -> b的路径上的最大收益(在最小值买入,在最大值卖出). 我们假设路径a - > b ...
- iOS--关于同步下载
{ NSMutableArray *_dataList; } [self loadDataWithPage:]; [self loadDataWithURLConnection]; //记得初始化数组 ...