Bash 脚本添加变量到别名
Bash script add variable to alias
我正在尝试 运行 这个脚本 -
#!/bin/bash
my_opts="-2 -o StrictHostKeyChecking=no -o FallBackToRsh=no -q -i /root/.ssh/identity"
alias ssh='ssh $my_opts'
type ssh
它给我的输出是 ssh is /usr/bin/ssh
。需要更改什么以便输出为 - ssh -2 -o 'StrictHostKeyChecking no' -o 'FallBackToRsh no' -i /root/.ssh/identity
提前致谢。
通过使用 ' 您正在创建一个文字字符串,在许多语言中也将字符串称为文字 - bash 也不例外。或者称为字符串插值。您需要使用 " 才能通过字符串传递 var,除非您像这样用 ' 包围栏
alias install='install '$var''
参考
https://www.gnu.org/software/bash/manual/html_node/Single-Quotes.html
还要确保您使用的是 source
,例如source ./script.sh
在您的脚本上而不是 运行 在键入命令时使用 bash ./script.sh
忘记别名,定义一个函数。
ssh () {
command ssh -2 -o StrictHostKeyChecking=no -o FallBackToRsh=no -q -i /root/.ssh/identity "$@"
}
我正在尝试 运行 这个脚本 -
#!/bin/bash
my_opts="-2 -o StrictHostKeyChecking=no -o FallBackToRsh=no -q -i /root/.ssh/identity"
alias ssh='ssh $my_opts'
type ssh
它给我的输出是 ssh is /usr/bin/ssh
。需要更改什么以便输出为 - ssh -2 -o 'StrictHostKeyChecking no' -o 'FallBackToRsh no' -i /root/.ssh/identity
提前致谢。
通过使用 ' 您正在创建一个文字字符串,在许多语言中也将字符串称为文字 - bash 也不例外。或者称为字符串插值。您需要使用 " 才能通过字符串传递 var,除非您像这样用 ' 包围栏
alias install='install '$var''
参考 https://www.gnu.org/software/bash/manual/html_node/Single-Quotes.html
还要确保您使用的是 source
,例如source ./script.sh
在您的脚本上而不是 运行 在键入命令时使用 bash ./script.sh
忘记别名,定义一个函数。
ssh () {
command ssh -2 -o StrictHostKeyChecking=no -o FallBackToRsh=no -q -i /root/.ssh/identity "$@"
}