小编Mar*_*rin的帖子

Bash字符串比较

我试图比较一个bash脚本中的两个字符串,我得到了非常奇怪的结果.

if [[ "010" < "01." ]]; then echo "Wrong"; else echo "OK"; fi
if [[ "010" < "01.0" ]]; then echo "Wrong"; else echo "OK"; fi
if [ "010" \< "01." ]; then echo "Wrong"; else echo "OK"; fi
if [ "010" \< "01.0" ]; then echo "Wrong"; else echo "OK"; fi
Run Code Online (Sandbox Code Playgroud)

阅读文档似乎[[ < ]]并且[ \< ]应该工作相同,但他们没有.[[ < ]]当字符串长度不同时,似乎工作错误.我错过了什么吗?

编辑:预期结果为4 x OK.测试:

  • CentOS版本6.4(最终版) - GNU bash,版本4.1.2(1)-release(x86_64-redhat-linux-gnu)(OK Wrong OK OK)
  • Ubuntu …

string bash comparison

7
推荐指数
1
解决办法
568
查看次数

以root身份运行结构脚本

我正在尝试使用fabric来自动执行我在几台服务器上执行的一些管理工作.一般流程如下:

  1. SSH与本地用户
  2. 运行:sudo su -成为root(再次提供本地用户密码)
  3. 以root完成工作:)

不幸的是,使用run('sudo su -')块执行脚本并允许用户输入.当我键入exitCtrl+Dscipt恢复,但没有root权限.

在Fabric切换用户时遇到了类似的问题,但我受限制,sudo su -因为我不允许更改/etc/sudoers包含以下行的文件:

localuser ALL = /usr/bin/su -

我浏览了织物的来源,试图找到一种解决方法,但没有成功.

python sudo su fabric

5
推荐指数
1
解决办法
5956
查看次数

标签 统计

bash ×1

comparison ×1

fabric ×1

python ×1

string ×1

su ×1

sudo ×1