我知道他们做了什么。我只是想知道他们是什么样的命令。如何使用shell脚本创建一个。 例如,命令如:
ignoreError ls /Home/
ignoreError mkdir /Home/
ignoreError cat
ignoreError randomcommand
希望你明白这个想法
答案 0 :(得分:3)
在shell脚本中执行此操作的方法是使用"$@"
构造。
"$@"
扩展为您传递给shell脚本的所有参数的引用列表。 $1
将是您希望shell脚本运行的命令,而$2
$3
等是 命令的参数。
我唯一的例子来自cygwin。 Cygwin没有sudo
,但我有这个模拟它的脚本:
#!/usr/bin/bash
cygstart --action=runas "$@"
所以当我运行像
这样的命令时$ sudo ls -l
我的sudo
脚本执行任何需要执行的操作(cygstart --action=runas
)并使用ls
参数调用-l
命令。
答案 1 :(得分:1)
试试这个脚本:
#!/bin/sh
"$@"
调用它,例如run
,让它可以运行chmod u+x run
,并尝试一下:
$ run ls -l #or ./run ls -l
...
output of ls
...
这个想法是脚本获取命令行中指定的参数并将它们用作(子)命令...以这种方式修改脚本:
#!/bin/sh
echo "Trying to run $*"
"$@"
你会看到。