你到底是问linux script还是python? 写法都不一样的 Banana.Republic 发表于 2023-06-03 18:49
两个变量 i=3 j=5 echo $i $j 输出3 5 请问如果想输出是3_5,且把这个3_5作为文件名。 该如何写这个linux shell script? 我用${i}_${j},就可以输出3_5 但是 mypython -i demo.txt -o demo${i}_${j}.out 却不能输出3_5.out gooog 发表于 2023-06-03 18:44
输出3 5
请问如果想输出是3_5,且把这个3_5作为文件名。 该如何写这个linux shell script?
我用${i}_${j},就可以输出3_5 但是 mypython -i demo.txt -o demo${i}_${j}.out 却不能输出3_5.out
我有一个python_script.py文件,这个文件有arguments
我想用shell script来运行这个python python_script.py i=$i j=$j python_script${i}_${j}.out
i=3 j=5 就是arguments 输出文件python_script3_5.out来记录过程。
```bash i=3 j=5 filename="${i}_${j}.out" mypython -i demo.txt -o "demo${filename}" ```
这样,变量"filename"的值将为"3_5.out",然后你可以将其用于生成文件名。注意在拼接文件名时,要将拼接的部分用双引号括起来,以防止特殊字符的解析错误。
如果你使用`${i}_${j}`可以正确输出"3_5",但是在拼接文件名时出现问题,那么可以将拼接操作放入一个变量中,然后再使用这个变量作为文件名。这样的写法可以避免一些特殊字符的解析问题。例如:
```bash i=3 j=5 filename="${i}_${j}" output_filename="demo${filename}.out" mypython -i demo.txt -o "$output_filename" ```
这样,变量"output_filename"的值将为"demo3_5.out",你可以通过它来生成文件名。
chatgpt
要在Linux shell脚本中使用${i}_${j}作为文件名,你需要在引用变量时使用花括号,并将${i}_${j}放在双引号中,以确保整个表达式被视为一个单独的变量。以下是一个示例脚本: #!/bin/bash
i=3 j=5
filename="${i}_${j}.out" mypython -i demo.txt -o "demo${filename}"
echo "文件名为: $filename"
在这个脚本中,${i}_${j}用于创建变量filename,其中包含了所需的文件名。然后,你可以在mypython命令中使用"demo${filename}"作为输出文件的名称。最后,使用echo语句输出文件名。 运行这个脚本后,它将输出"文件名为: 3_5.out",并创建一个名为"demo3_5.out"的输出文件。