Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux BASH-添加充当开关的参数_Linux_Bash_Shell - Fatal编程技术网

Linux BASH-添加充当开关的参数

Linux BASH-添加充当开关的参数,linux,bash,shell,Linux,Bash,Shell,我目前正在编写一个BASH脚本(无法发布,因为它是分级的,但是我们可以要求指导),我几乎完成了它 它经常使用ls命令,我们需要这样做,以便用户可以选择是否希望ls命令包含人类可读的大小格式。(即ls是否包括-h) 我想知道,是否有办法使脚本执行的第二个参数为-h,那么所有ls命令都将包含-h选项? 干杯 如果您正在迭代ls的结果,则需要阅读。如果您使用ls只是为了显示文件,那么就可以了 要在脚本中进行选项解析,请使用bash内置函数——在此处搜索getopts,我相信您会找到很多示例。尝试以下方

我目前正在编写一个BASH脚本(无法发布,因为它是分级的,但是我们可以要求指导),我几乎完成了它

它经常使用ls命令,我们需要这样做,以便用户可以选择是否希望ls命令包含人类可读的大小格式。(即ls是否包括-h)

我想知道,是否有办法使脚本执行的第二个参数为-h,那么所有ls命令都将包含-h选项?


干杯

如果您正在迭代
ls
的结果,则需要阅读。如果您使用
ls
只是为了显示文件,那么就可以了

要在脚本中进行选项解析,请使用bash内置函数——在此处搜索getopts,我相信您会找到很多示例。

尝试以下方法:

human=${option+-$option}
ls $human
example :
option="h"
echo ls $human 
ls -h

最简单的方法是

#!/bin/bash
if [[ $1 == -h ]]
then
  flags="-h"
else
  flags=""
fi

ls -l $flags
然后你就可以跑了

./yourscript -h
./yourscript
它将分别在有和没有
-h
的情况下运行ls


更健壮的解析标志的解决方案包括
getopts
,它允许您解析传统的Unix标志规范,如
/yourscript-e foo-d bar-vhq
。如果你想让你的脚本允许不止一个参数,你应该研究一下。

mangetopt
是你的答案。那么,假设我有一个.txt文件,在Size1 File1 Size2 File2等列中包含以下信息,我如何访问这些大小,使它们成为人类可读的,并用新的大小替换.txt文件中需要的所有大小?