小编Red*_*son的帖子

运行 shell 脚本时提示用户以 root 身份登录

我遇到的问题是,当我输入命令时,

su - root
Run Code Online (Sandbox Code Playgroud)

在我的shell脚本文件的开头,它会提示用户输入密码,然后做与外壳脚本的其余部分继续。然后我必须通过终端手动定位和运行 shell 脚本。我希望脚本确保用户以 root 身份登录,然后继续执行 shell 脚本的其余部分。

换句话说,我想以任何用户身份运行脚本,但是一旦脚本开始执行,用户必须更改为 root,然后以 root 身份继续执行脚本的其余部分,直到完成。这能做到吗?

linux shell bash suse shell-script

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

如何将变量从本地服务器传递到远程服务器?

我试图将一个变量从我的本地服务器 (location1) 传递到远程服务器 (location2)。该代码的目的是从远程服务器的预定义位置复制文件。简单来说,我想使用预定义的路径将文件从 location2 复制到 location1,其中 location1 在本地服务器上,location2 是远程服务器。看代码段:

$location1=somewhere/on/local_server
$location2=somewhere/on/remote_server

sshpass -p "password" \
  ssh username@74.11.11.11 'su -lc "cp -r $location2 $location1";'
Run Code Online (Sandbox Code Playgroud)

我得到的错误是 $location1 和 $location2 都未定义。此外,我不想手动输入位置路径,因为它们可以随时更改,如果手动完成,在代码中更改它们会很痛苦。

shell bash environment-variables quoting

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

有没有办法将 awk 语句中的变量作为参数传递给 bash 函数?

我正在尝试使用awkbash 脚本中的语句从(例如 1 或 4 和 2 或 3)文本文件中查找某些特定值。如果在文件中(在awk语句内)找到该值,那么我想从awk语句外部调用一个函数并将找到的值作为参数传递给它。

我的问题:(1)这可能吗?如果是,那么如何?(2)如果不可能或者有更好的方法,那怎么办?

请注意,我在搜索文件时跳过了文本文件的前两行。我正在使用 GNU AWK。如果需要进一步解释,请告诉我。

**我提前为交叉帖子道歉,但我没有得到我正在寻找的答案。

文件.txt

Name  Col1  Col2  Col3  
-----------------------
row1  1     4     7        
row2  2     5     8         
row3  3     6     9 
Run Code Online (Sandbox Code Playgroud)

实际retrieve功能比这个简化的例子复杂得多。所以我需要调用这个函数,因为我不想把它放在awk语句中。

function retrieve {
    if [[ "$1" == "1" ]]; then
        echo "one beer on the wall"
    elif [[ "$1" == "4" ]]; then
        echo "four beers on the wall"
    fi
}

function retrieve2 {
    if [[ "$1" …
Run Code Online (Sandbox Code Playgroud)

linux shell bash sed awk

3
推荐指数
1
解决办法
760
查看次数

有没有办法从命令输出中找出行数?

我正在尝试比较两台服务器之间的命令输出。我想从诸如ls -l. 有没有办法这样做?到目前为止,我还没有发现任何东西。

shell scripting text-processing

1
推荐指数
2
解决办法
2723
查看次数

如何 cat 命令文件?

我将输出crontab -l存储在没有扩展名的文件 (crontab_file) 中。但是每当我尝试cat它时,我都会收到错误消息,说找不到文件的多行的命令。这是我到目前为止的代码:

file/commands/crontab_file > $PWD/tmp
cat $PWD/tmp
Run Code Online (Sandbox Code Playgroud)

我一直收到错误,我不知道为什么。有什么建议?

shell shell-script files

0
推荐指数
1
解决办法
438
查看次数