运行 Bash 脚本后跟关键字或变量
Run Bash Script followed by keyword or Variable
我尝试在线搜索答案,但发现很难用短语来表达搜索条件来找到我要查找的内容。对于初学者来说,我是 coding/scripting.
的菜鸟
我了解到如何在脚本中使用读取函数来根据用户输入创建变量,这很棒。我的问题是你可以 运行 一个脚本,后跟一个表示主机名(目标)设备的关键字。这看起来像这样。
sample.sh 主机名
目前我的理解只允许我在脚本 运行 之后将主机名添加到变量中,但这似乎有点慢。我想要的一个例子是检查网络交换机接口状态的通用脚本。以我可以 运行 后跟主机名来快速检查单个设备的方式设置脚本会很棒。我想我缺少一些基本的理解。
我希望我描述清楚了,感谢您提前提供的帮助。我在下面有一个示例 bash 脚本和它传递给
的预期脚本
#!/bin/bash
echo "What device do you want to check TRUNK links?"
read -e host
echo "Username:"
read -e user
echo "Password:"
read -s -e password
./show-trunk.exp $host $user $password;
#!/usr/bin/expect -f
set host [lindex $argv 0]
set user [lindex $argv 1]
set password [lindex $argv 2]
#spawn echo "Running Script..."
log_user 0
spawn ssh $username@$devices
expect "*assword:"
send "$password\r"
expect "#"
log_user 1
send "show int desc | in TRUNK\r"
expect "#"
send "exit\r"
bash 中有一些特殊变量,表示放入其中的参数。您可以这样指定它们:
#!/usr/bin/env bash
echo
然后到运行命令行脚本:
~> ./test.sh hello bash user
hello bash user
如果您需要测试参数数量是否正确,您可以像这样做一个简单的 if 语句:
#!/usr/bin/env bash
if [[ "$#" -eq 3 ]]; do
echo
else
echo "Not enough arguments"
fi
那么如果你在命令行中调用它:
~> ./test.sh hello bash user
hello bash user
~> ./test.sh oops
Not enough arguments
我尝试在线搜索答案,但发现很难用短语来表达搜索条件来找到我要查找的内容。对于初学者来说,我是 coding/scripting.
的菜鸟我了解到如何在脚本中使用读取函数来根据用户输入创建变量,这很棒。我的问题是你可以 运行 一个脚本,后跟一个表示主机名(目标)设备的关键字。这看起来像这样。
sample.sh 主机名
目前我的理解只允许我在脚本 运行 之后将主机名添加到变量中,但这似乎有点慢。我想要的一个例子是检查网络交换机接口状态的通用脚本。以我可以 运行 后跟主机名来快速检查单个设备的方式设置脚本会很棒。我想我缺少一些基本的理解。
我希望我描述清楚了,感谢您提前提供的帮助。我在下面有一个示例 bash 脚本和它传递给
的预期脚本#!/bin/bash
echo "What device do you want to check TRUNK links?"
read -e host
echo "Username:"
read -e user
echo "Password:"
read -s -e password
./show-trunk.exp $host $user $password;
#!/usr/bin/expect -f
set host [lindex $argv 0]
set user [lindex $argv 1]
set password [lindex $argv 2]
#spawn echo "Running Script..."
log_user 0
spawn ssh $username@$devices
expect "*assword:"
send "$password\r"
expect "#"
log_user 1
send "show int desc | in TRUNK\r"
expect "#"
send "exit\r"
bash 中有一些特殊变量,表示放入其中的参数。您可以这样指定它们:
#!/usr/bin/env bash
echo
然后到运行命令行脚本:
~> ./test.sh hello bash user
hello bash user
如果您需要测试参数数量是否正确,您可以像这样做一个简单的 if 语句:
#!/usr/bin/env bash
if [[ "$#" -eq 3 ]]; do
echo
else
echo "Not enough arguments"
fi
那么如果你在命令行中调用它:
~> ./test.sh hello bash user
hello bash user
~> ./test.sh oops
Not enough arguments