相关疑难解决方法(0)

在Shell脚本中阻止注释

有没有一种简单的方法可以在shell脚本中注释掉一段代码?

shell

230
推荐指数
9
解决办法
27万
查看次数

在python脚本中更改为sudo用户

我有个问题.我正在编写一个软件,它需要执行一个操作,要求用户处于sudo模式.运行'sudo python filename.py'不是一个选项,这引出了我的问题.有没有办法在python脚本的一半更改为sudo,安全性不是问题,因为用户将通过以下方式知道程序应该运行的sudo密码来说明问题

  1. 程序作为普通用户运行
  2. ......执行操作
  3. 用户输入sudo密码
  4. 用户改为sudo
  5. 运行需要sudo权限的子程序
  6. 在触发偶数(子程序结束)用户再次成为普通用户
  7. ......执行操作

我的问题在于第3步,你可以建议的任何指针或框架都会有很大的帮助.

干杯

克里斯

python security sudo

24
推荐指数
4
解决办法
4万
查看次数

在shell脚本中将脚本目录更改为用户的homedir

在我的bash脚本中,我需要将当前目录更改为用户的主目录.

如果我想更改为用户的foo home目录,我可以从命令行执行:

cd ~foo
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,但是当我从脚本中做同样的事情时它会告诉我:

./bar.sh: line 4: cd: ~foo: No such file or directory
Run Code Online (Sandbox Code Playgroud)

像这样的接缝会是如此微不足道的事情,但它不起作用.这有什么问题?我是否需要逃避"〜"或可能缺少引号或其他内容?

编辑

当我说用户时,我不是指当前运行脚本的用户,而是通常系统上的任何其他用户

编辑

这是脚本:

#!/bin/bash

user="foo"
cd ~$user
Run Code Online (Sandbox Code Playgroud)

如果用户名是硬编码的

cd ~foo
Run Code Online (Sandbox Code Playgroud)

它可以工作,但如果它在用户变量中,那么它不会.我在这里错过了什么?

linux bash shell

5
推荐指数
2
解决办法
2万
查看次数

标签 统计

shell ×2

bash ×1

linux ×1

python ×1

security ×1

sudo ×1