如何在Bash中将目录设置为参数

Rob*_*ert 5 directory variables bash ubuntu

我在找出如何在bash中将目录设置为参数时遇到麻烦。

我想作为参数的目录是 /home/rrodriguez/Documents/one.

在任何尝试寻找答案的地方,我都看到dir = $ 1之类的示例,但是我似乎找不到关于这意味着什么或如何进行设置以使其引用我的特定文件位置的解释。谁能告诉我如何为我的路径目录设置变量?

添加我的代码以更好地了解我要执行的操作:

#!bin/bash

$1 == 'home/rrodriguez/Documents/one/'

dir = $1

touch -c $dir/*
ls -la $dir
wc$dir/* 
Run Code Online (Sandbox Code Playgroud)

Joh*_*024 5

考虑:

#!bin/bash

dir=$1
touch -c "$dir"/*
ls -la "$dir"
Run Code Online (Sandbox Code Playgroud)

此脚本采用一个参数,即目录名称,并访问该目录中的文件,然后显示目录列表。您可以通过以下方式运行它:

bash script.sh 'home/rrodriguez/Documents/one/'
Run Code Online (Sandbox Code Playgroud)

由于home/rrodriguez/Documents/one/是脚本的第一个参数,因此在脚本中分配给它$1

笔记

在 shell 中,永远不要=在赋值的两边放置空格。

我省略了这一行,wc$dir/*因为我不清楚它的目的是什么。

我在周围加上双引号是$dir为了防止 shell 执行分词等操作。如果dir包含空格,这很重要。