我有一个bash脚本,它使用该read命令以交互方式读取命令的参数,例如是/否选项.有没有办法在非交互式脚本中调用此脚本将默认选项值作为参数传递?
这不仅仅是我必须传递给交互式脚本的一个选项.
这可能是许多常见问题解答 - 而不是使用:
cat file | command
Run Code Online (Sandbox Code Playgroud)
(这被称为无用的猫),正确的方式应该是:
command < file
Run Code Online (Sandbox Code Playgroud)
在第二,"正确"的方式 - 操作系统不必产生额外的过程.
尽管知道这一点,我继续使用无用的猫有两个原因.
更美观 - 我喜欢数据仅从左到右均匀移动.而且它更容易更换cat别的东西(gzcat,echo,...),添加第二个文件或插入新的过滤器(pv,mbuffer,grep...).
我"觉得"在某些情况下可能会更快.更快,因为有2个进程,1st(cat)执行读取而第二个执行任何操作.它们可以并行运行,这意味着有时可以更快地执行.
我的逻辑是否正确(第二个原因)?
Ipython Jupyter Notebook中有一个有趣的选项可以直接从笔记本中执行命令行语句.例如:
! mkdir ...
! python file.py
Run Code Online (Sandbox Code Playgroud)
此外 - 此代码可以使用os以下命令运行:
import os
os.system('cmd command')
Run Code Online (Sandbox Code Playgroud)
但是如何运行交互式shell命令.例如:
!conda install package
Run Code Online (Sandbox Code Playgroud)
可能需要将来的input([Y]/N)或文件夹位置,但不接受进一步的输入.
我正在运行一个脚本(我无法编辑它),并且有三个是/否问题.我该如何自动回答这些问题?我需要回答是,是,否(按此顺序).
bash ×2
automation ×1
cat ×1
cmd ×1
command-line ×1
interactive ×1
ipython ×1
jupyter ×1
linux ×1
prompt ×1
shell ×1