小编Mik*_*keD的帖子

如何通过我的脚本读取属性文件?

我正在使用 bash shell。我正在尝试编写一个脚本,该脚本将读取一个属性文件,然后根据它在文件中读取的键值对在另一个文件中进行一些替换。所以我有

#!/bin/bash

file = "/tmp/countries.properties"

while IFS='=' read -r key value
do
  echo "${key} ${value}" 
  sed -ie 's/:iso=>"${key}"/:iso=>"${key}",:alpha_iso=>"${value}"/g' /tmp/country.rb
done < "$file"
Run Code Online (Sandbox Code Playgroud)

但是当我去运行该文件时,尽管我的文件存在(我做了一个“ls”来验证它),但我得到一个“Nno such file or directory error”。

localhost:myproject davea$ sh /tmp/script.sh 
=:                         cannot open `=' (No such file or directory)
/tmp/countries.properties: ASCII text
/tmp/script.sh: line 9: : No such file or directory
localhost:myproject davea$ 
localhost:myproject davea$ ls /tmp/countries.properties 
/tmp/countries.properties
Run Code Online (Sandbox Code Playgroud)

我还需要做什么才能成功读取我的属性文件?

bash sed shell-script text-processing files

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

SSH 公钥不适用于特定用户

我在一个系统上有 2 个用户,user1 和 user2。

这是每个的authorized_keys的md5sum:

de092f77fb4a3be2cd8864c5f9961149  user1/.ssh/authorized_keys
de092f77fb4a3be2cd8864c5f9961149  user2/.ssh/authorized_keys
Run Code Online (Sandbox Code Playgroud)

以下是每个 .ssh 文件夹的列表:

user1/.ssh/:
total 8
drwx------. 2 user1 user1   28 Mar 16 12:11 .
drwxrwx---. 5 user1 user1 4096 Mar 16 12:11 ..
-rw-------. 1 user1 user1  412 Mar 16 12:11 authorized_keys

user2/.ssh/:
total 4
drwx------. 2 user2 user2  28 Mar 16 11:37 .
drwx------. 3 user2 user2  90 Mar 16 11:38 ..
-rw-------. 1 user2 user2 412 Mar 16 11:37 authorized_keys
Run Code Online (Sandbox Code Playgroud)

这是每个的身份验证:

用户 1:

debug1: Next authentication method: …
Run Code Online (Sandbox Code Playgroud)

ssh permissions key-authentication

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

如何保护'find'命令中的表达式不被shell解释?

我想find . '! -name *.*'bashshell中运行命令。它不能按预期工作。(它应该列出当前目录中所有-name *.*为 false 的文件,即名称中没有点的文件。)相反,它打印目录中所有文件的列表,矛盾的是,以行结尾find: "! -name *.*": file or directory not found。我怀疑问题是 shell 对表达式的解释,尽管它受两个撇号 (U+0027) 字符的保护。有没有办法可靠地保护表达式无论表达式是什么,表达式?

我使用这个版本:find (GNU findutils) 4.4.2

bash find quoting

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

移动文件 shell 脚本

我有一个 shell 脚本 ren.sh

#!/bin/bash
/usr/bin/mv /home/imp/imp/msgs/$1.PK1 /home/imp/imp/msgs/$1.BRD
/usr/bin/mv /home/imp/imp/msgs/$1.PK2 /home/imp/imp/msgs/$1.MIX
Run Code Online (Sandbox Code Playgroud)

它工作正常,但一次只能移动 2 个文件(*.PK2*.PK1)。我希望它将所有现有*.PK1*.PK2文件移动到*.MIX*.BRD文件

这可能吗?

shell-script rename mv

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

rsync 不会删除目标目录中的文件

以下rsync命令不会删除目标目录中的文件

rsync -avr --delete hulio@192.168.255.42:/home/hulio/hotspots_test/* /home/zsumo/hotpoint/data  
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

ubuntu rsync

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