flow2k Asked: 2018-02-28 13:35:28 +0800 CST2018-02-28 13:35:28 +0800 CST 2018-02-28 13:35:28 +0800 CST Bash -s 选项:“选项处理后不保留任何参数” 772 我正在阅读Bash 手册,以便-s在调用bash. 第一句话说: -s 如果存在此选项,或者在选项处理后没有保留任何参数,则从标准输入读取命令。 “选项处理后没有参数保留”是什么意思?最终,所有选项都将被处理,并且不会有任何选项/参数需要处理,对吧? 我需要知道使用bash -s和不使用(即bash)之间的区别。 bash 1 个回答 Voted Best Answer John1024 2018-02-28T13:41:31+08:002018-02-28T13:41:31+08:00 以下将script使用参数arg1和运行arg2: bash script arg1 arg2 使用-s,会发生一些非常不同的事情:启动一个交互式shell,并且 bash 的任何剩余参数都不会被解释为命令,而只是作为位置参数: $ bash -s arg1 arg2 $ echo "0=$0 1=$1 2=$2" 0=bash 1=arg1 2=arg2 在上面,echo "0=$0 1=$1 2=$2"是在新 shell 的交互式提示下手动输入的。
以下将
script
使用参数arg1
和运行arg2
:使用
-s
,会发生一些非常不同的事情:启动一个交互式shell,并且 bash 的任何剩余参数都不会被解释为命令,而只是作为位置参数:在上面,
echo "0=$0 1=$1 2=$2"
是在新 shell 的交互式提示下手动输入的。