bash - 直接从命令行接收值
问题描述
我试图做的是从命令行接收值(而不是使用 read 方法并要求用户在多个步骤中输入值和/或文件名)。
./hello.sh 5 15 <file_name.txt
我听说简单地使用数组可以帮助做同样的事情,但我不能 -
避免打印
5 15
在下一行
由于正在打印 5 和 15,我希望打印字符串“abcdefgh”(file_name.txt 的内容);然而,输出停止在
5 15
如果有人能指出我的代码不够用的原因,我将不胜感激,如果可能的话,请向我指出一些学习资源的方向,以拓宽我对这个概念的了解。
这是代码:
#! /usr/bin/bash
echo "$@"
我只是在测试一些东西(想在对它们做任何事情之前打印出变量)。
解决方案
这行得通吗?
./hello.sh 5 15 `catfile_name.txt`
并更新hello.sh
为:
#! /usr/bin/bash
shift 2
echo $@
推荐阅读
- sql - 模式匹配 Postgres
- asp.net-mvc-4 - ImageRezising.net Faces 插件上的空错误
- reactjs - React - Antd - 在表格中显示/隐藏列
- ms-access - 在 ms-access VBA 中获取“运行时错误 - 13:类型不匹配”消息
- python - 使用 NLTK、Python 在 StanfordDependencyParser 中设置几个 corenlp_options
- python - 在 Pandas 中使用存储在 DataFrame 单元格中的列表的值
- grid - jsPlumb 连接器和端点未正确放置在从数据库动态创建的
- excel - Excel 公式使用 today()
- php - Laravel:如何在不使用 Laravel 的 Eloquent/Fluent 循环的情况下更新选定记录的列值?
- javascript - 如何导航到 Framework7 中的页面