我认为这/bin/sh
是我选择的外壳的符号链接。我一直使用bash
,所以我认为这/bin/sh
会指向/bin/bash
。但事实证明,它指向/bin/dash
。
它变得更有趣。我开始dash
并执行echo $SHELL
并打印/bin/bash
(所以它们基本上相同?)。但是, 的手册页与 的手册页dash
完全不同bash
(所以它们不一样?)。
我发现如果我在 byobu 屏幕中进入“复制模式”或“回滚模式”,从它分离并保持运行,缓冲区将填满并最终阻塞我在屏幕中运行的进程。(大概是因为该进程被阻止写入 stdout,因为没有人消耗字节。)
这种行为是毁灭性的。是否有可能例如
从屏幕分离时自动退出复制/回滚模式,
或者
一旦缓冲区已满,让处于复制/回滚模式的视图的位置向前移动,以允许进程继续执行
很高兴听到有关这方面的任何建议。
我有一个简单的命令,我希望能够以用户身份执行,但它需要 root 权限。我怀疑这是“SUID”位的情况,但我从未使用过它。
这是我尝试过的:
aioobe@e6510:~/bin$ sudo -s
root@e6510:~/bin# cat -> spindown_baydrive
#!/bin/bash
/sbin/hdparm -Y /dev/sdb
root@e6510:~/bin# chmod +x spindown_baydrive
root@e6510:~/bin# chmod ug+s spindown_baydrive
root@e6510:~/bin# exit
aioobe@e6510:~/bin$ ./spindown_baydrive
/dev/sdb: Permission denied
aioobe@e6510:~/bin$
aioobe@e6510:~/bin$ ls -la spindown_baydrive
-rwsr-sr-x 1 root root 37 2011-01-31 09:59 spindown_baydrive
Run Code Online (Sandbox Code Playgroud)
有什么建议?