Передача аргумента в скрипт оболочки в виде txt файла - PullRequest
0 голосов
/ 23 сентября 2019

Я хотел бы знать, как получить доступ к содержимому различных текстовых файлов, передав аргументы в сценарии оболочки.У меня будут разные файлы, и я ожидаю выполнить их с помощью этой команды:

./script.sh FileA.txt

Что я должен вставить в свой сценарий оболочки, чтобы я мог обращаться к содержимому файлов и манипулировать им?

Я попробовал это, но выдает 0:

echo "$#"

Я тоже пробовал, но оба ничего не выдают:

for i in $1
do
     echo "$i"
done
echo "$1"

Ответы [ 2 ]

0 голосов
/ 23 сентября 2019

Я не совсем понимаю ваш вопрос.Предположим, у вас есть список имен файлов в текстовом файле «FileA.txt».И вы хотели выполнить несколько команд для каждого файла в файле «FileA.txt».

Можете ли вы попробовать ниже:

for i in `cat $1`
do
  echo $i
done
0 голосов
/ 23 сентября 2019

Чтобы суммировать содержимое, перейдите по этой ссылке, чтобы понять аргументы bash подробнее https://tecadmin.net/tutorial/bash-scripting/bash-command-arguments/.Также, как сказал @Barmar, для перебора списка аргументов неизвестного количества используйте for i in "$@".

edit и, как сказал @Barmar, $ 1 - это просто имя аргумента.Таким образом, повторение $ 1 просто повторяет имя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...