我想编写一个脚本,它会根据我的输入更改到不同的目录。像这样:
test.sh:
#!/bin/bash
ssh machine001 '(chdir ~/dev$1; pwd)'
但是当我运行 ./test.sh 2
时,它仍然会转到 ~/dev
。看来我的论点被忽略了。我在这里做了什么非常愚蠢的事情吗?
最佳答案
Bash 忽略单引号 (') 字符串中的任何变量语法。您需要双引号 (") 才能进行替换:
#!/bin/bash
ssh machine001 "(chdir ~/dev$1; pwd)"
关于bash - 将命令行参数传递给 shell 脚本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14818956/